diff --git a/32BitFloatDICOMExport/FloatDICOMExport.m b/32BitFloatDICOMExport/FloatDICOMExport.m index 57be6d2..1f40b9e 100644 --- a/32BitFloatDICOMExport/FloatDICOMExport.m +++ b/32BitFloatDICOMExport/FloatDICOMExport.m @@ -31,14 +31,11 @@ - (long) filterImage:(NSString*) menuName NSString *f = [xport writeDCMFile: nil]; if( f) - [BrowserController addFiles: [NSArray arrayWithObject: f] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: f] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; return 0; // No Errors } diff --git a/BullsEye/BullsEye.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/BullsEye/BullsEye.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..dd23f4b --- /dev/null +++ b/BullsEye/BullsEye.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/BullsEye/BullsEye.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate b/BullsEye/BullsEye.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..c006294 Binary files /dev/null and b/BullsEye/BullsEye.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/BullsEye/BullsEye.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/BullsEye.xcscheme b/BullsEye/BullsEye.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/BullsEye.xcscheme new file mode 100644 index 0000000..fc2e7bc --- /dev/null +++ b/BullsEye/BullsEye.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/BullsEye.xcscheme @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BullsEye/BullsEye.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist b/BullsEye/BullsEye.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..d96f8ff --- /dev/null +++ b/BullsEye/BullsEye.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + BullsEye.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D5B49AC048680CD000E48DA + + primary + + + + + diff --git a/BullsEye/BullsEyeController.m b/BullsEye/BullsEyeController.m index 8284127..e82bb5e 100644 --- a/BullsEye/BullsEyeController.m +++ b/BullsEye/BullsEyeController.m @@ -14,6 +14,7 @@ #import "OsiriXAPI/ViewerController.h" #import "OsiriXAPI/DCMView.h" #import "OsiriXAPI/DCMPix.h" +#import "OsiriXAPI/DicomDatabase.h" const NSString* FileTypePDF = @"pdf"; const NSString* FileTypeTIFF = @"tiff"; @@ -240,14 +241,11 @@ -(void)dicomSave:(NSString*)seriesDescription backgroundColor:(NSColor*)backgrou NSString *f = [dicomExport writeDCMFile: nil]; if( f) - [BrowserController addFiles: [NSArray arrayWithObject: f] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: f] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; [dicomExport release]; } @@ -258,6 +256,7 @@ -(void)saveAsPanelDidEnd:(NSSavePanel*)panel returnCode:(int)code contextInfo:(v NSError* error = 0; if (code == NSOKButton) + { if (format == FileTypePDF) { [[[BullsEyeView view] dataWithPDFInsideRect:[[BullsEyeView view] squareBounds]] writeToFile:[panel filename] options:NSAtomicWrite error:&error]; @@ -280,7 +279,7 @@ -(void)saveAsPanelDidEnd:(NSSavePanel*)panel returnCode:(int)code contextInfo:(v { // dicom [self dicomSave: [[presetsList selection] valueForKey: @"name"] backgroundColor: [NSColor whiteColor] toFile:[panel filename]]; } - + } if (error) [[NSAlert alertWithError:error] beginSheetModalForWindow:[self window] modalDelegate:NULL didEndSelector:NULL contextInfo:NULL]; } diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/ColorTransferView.h b/CMIV_CTA_TOOLS/OsiriX Headers/ColorTransferView.h deleted file mode 100644 index 8fa7d30..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/ColorTransferView.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface ColorTransferView : NSView { - - IBOutlet NSColorWell *pick; - IBOutlet NSTextField *position; - - NSMutableArray *colors; - NSMutableArray *points; - - NSInteger curIndex; -} - --(void) selectPicker:(id) sender; --(NSMutableArray*) getPoints; --(NSMutableArray*) getColors; --(void) ConvertCLUT:(unsigned char*) red: (unsigned char*) green: (unsigned char*) blue; --(IBAction) renderButton:(id) sender; -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DCMAttribute.h b/CMIV_CTA_TOOLS/OsiriX Headers/DCMAttribute.h deleted file mode 100644 index e91158b..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DCMAttribute.h +++ /dev/null @@ -1,118 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -#define AE 0x4145 //Application Entity String 16bytes max -#define AS 0x4153 //Age String Format mmmM,dddD,nnnY ie 018Y -#define AT 0x4154 //Attribute Tag 16bit unsigned integer -#define CS 0x4353 //Code String !6 byte max -#define DA 0x4441 //Date String yyyymmdd 8bytes old format was yyyy.mm.dd for 10 bytes. May need to implement old format -#define DS 0x4453 //Decimal String representing floating point number 16 byte max -#define DT 0x4454 //Date Time YYYYMMDDHHMMSS.FFFFFF&ZZZZ FFFFFF= fractional Sec. ZZZZ=offset from Hr and min offset from universal time -#define FD 0x4644 //floating point Single 4 bytes fixed -#define FL 0x464C //double floating point 8 bytes fixed -#define IS 0x4953 //Integer String 12 bytes max -#define LO 0x4C4F //Character String 64 char max -#define LT 0x4C54 //Long Text 10240 char Max -#define PN 0x504E //Person Name string -#define SH 0x5348 //short string -#define SL 0x534C //signed long -#define SS 0x5353 //signed short -#define ST 0x5354 //short Text 1024 char max -#define TM 0x544D //Time String -#define UI 0x5549 //String for UID -#define UL 0x554C //unsigned Long -#define US 0x5553 //unsigned short -#define UT 0x5554 //unlimited text -#define OB 0x4F42 //other Byte byte string not little/big endian sensitive -#define OW 0x4F57 //other word 16bit word -#define SQ 0x5351 //Sequence of items -#define UN 0x554E //unknown -#define QQ 0x3F3F - -@class DCMAttributeTag; -@class DCMDataContainer; -@class DCMCharacterSet; -@class DCMTransferSyntax; - -@interface DCMAttribute : NSObject { - DCMAttributeTag *_tag; - long _valueLength; - int _valueMultiplicity; - NSMutableArray *_values; - NSString *_vr; - DCMCharacterSet *characterSet; - NSString *name; - unsigned char *_dataPtr; - -} -+ (id)attributeWithAttribute:(DCMAttribute *)attr; -+ (id)attributeWithAttributeTag:(DCMAttributeTag *)tag; -+ (id)attributeWithAttributeTag:(DCMAttributeTag *)tag vr:(NSString *)vr; -+ (id)attributeWithAttributeTag:(DCMAttributeTag *)tag vr:(NSString *)vr values:(NSMutableArray *)values; -+ (id)attributeinitWithAttributeTag:(DCMAttributeTag *)tag - vr:(NSString *)vr - length:(long) vl - data:(DCMDataContainer *)dicomData - specificCharacterSet:(DCMCharacterSet *)specificCharacterSet - isExplicit:(BOOL) explicitValue - forImplicitUseOW:(BOOL)forImplicitUseOW; - - - -- (id)initWithAttribute:(DCMAttribute *)attr; -- (id)initWithAttributeTag:(DCMAttributeTag *)tag; -//possible private tag not in dictionary -- (id)initWithAttributeTag:(DCMAttributeTag *)tag vr:(NSString *)vr; -// creating attributes from scratch. Will try and get vr from dictionary first. -- (id) initWithAttributeTag:(DCMAttributeTag *)tag vr:(NSString *)vr values:(NSMutableArray *)values; -- (id) initWithAttributeTag:(DCMAttributeTag *)tag - vr:(NSString *)vr - length:(long) vl - data:(DCMDataContainer *)dicomData - specificCharacterSet:(DCMCharacterSet *)specificCharacterSet - isExplicit:(BOOL) explicitValue - forImplicitUseOW:(BOOL)forImplicitUseOW; -- (id) initWithAttributeTag:(DCMAttributeTag *)tag - vr:(NSString *)vr - length:(long) vl - dataPtr: (unsigned char *)dataPtr; -- (int)group; -- (int)element; -- (long)valueLength; -- (long) paddedLength; -- (int)valueMultiplicity; -//- (char *)valueRepresentation; -- (NSString *)vrStringValue; -- (NSString *)vr; -- (long)paddedValueLength; - -- (NSMutableArray *)values; -- (id)value; -- (void)addValue:(id)value; -- (void)setValues:(NSMutableArray *)values; -- (void)writeBaseToData:(DCMDataContainer *)dcmData transferSyntax:(DCMTransferSyntax *)ts; -- (BOOL)writeToDataContainer:(DCMDataContainer *)container withTransferSyntax:(DCMTransferSyntax *)ts; - -- (NSString *)valuesAsString; -- (NSArray *)valuesForVR:(NSString *)vrString length:(int)length data:(DCMDataContainer *)dicomData; -//- (DCMAttributeTag *)tag; -- (DCMAttributeTag *)attrTag; -- (void)swapBytes:(NSMutableData *)data; -- (id)copyWithZone:(NSZone *)zone; - -- (void)setCharacterSet:(DCMCharacterSet *)specificCharacterSet; -- (NSXMLNode *)xmlNode; - - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DCMCalendarDate.h b/CMIV_CTA_TOOLS/OsiriX Headers/DCMCalendarDate.h deleted file mode 100644 index ebd0b4f..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DCMCalendarDate.h +++ /dev/null @@ -1,45 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface DCMCalendarDate : NSCalendarDate { - int microseconds; - NSString *queryString; - BOOL isQuery; -} - -+ (id)dicomDate:(NSString *)string; -+ (id)dicomTime:(NSString *)string; -+ (id)dicomDateTime:(NSString *)string; -+ (id)dicomDateWithDate:(NSDate *)date; -+ (id)dicomTimeWithDate:(NSDate *)date; -+ (id)queryDate:(NSString *)query; - -- (DCMCalendarDate *)dateWithYear:(int)year month:(unsigned)month day:(unsigned)day hour:(unsigned)hour minute:(unsigned)minute second:(unsigned)second timeZone:(NSTimeZone *)aTimeZone; - -- (NSString *)dateString; -- (NSString *)timeString; -- (NSString *)dateTimeString:(BOOL)withTimeZone; -- (NSString *)queryString; - -- (NSNumber *)dateAsNumber; -- (NSNumber *)timeAsNumber; - - -- (void)setMicroseconds:(int)useconds; -- (BOOL)isQuery; -- (void)setIsQuery:(BOOL)query; -- (void)setQueryString:(NSString *)query; -- (NSString *)description; - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DCMDataContainer.h b/CMIV_CTA_TOOLS/OsiriX Headers/DCMDataContainer.h deleted file mode 100755 index a1a8ad3..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DCMDataContainer.h +++ /dev/null @@ -1,116 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -//#import - - - -@interface DCMDataContainer : NSObject { - NSMutableData *dicomData; - BOOL isLittleEndian, isExplicitTS, dataRemaining; - int offset, position; - NSStringEncoding stringEncoding; - unsigned char *_ptr; -} - - - -+ (id)dataContainer; -+ (id)dataContainerWithBytes:(const void *)bytes length:(unsigned)length; -+ (id)dataContainerWithBytesNoCopy:(void *)bytes length:(unsigned)length; -+ (id)dataContainerWithBytesNoCopy:(void *)bytes length:(unsigned)length freeWhenDone:(BOOL)freeWhenDone; -+ (id)dataContainerWithContentsOfFile:(NSString *)path; -+ (id)dataContainerWithContentsOfMappedFile:(NSString *)path; -+ (id)dataContainerWithContentsOfURL:(NSURL *)aURL; -+ (id)dataContainerWithData:(NSData *)aData; - - - -- (id)initWithData:(NSData *)data; -- (id)initWithContentsOfFile:(NSString *)path; -- (id)initWithContentsOfURL:(NSURL *)aURL; -- (id)initWithBytes:(const void *)bytes length:(unsigned)length; -- (id)initWithBytesNoCopy:(void *)bytes length:(unsigned)length; -- (id)initWithBytesNoCopy:(void *)bytes length:(unsigned)length freeWhenDone:(BOOL)flag; - - -- (void)initValues; - -- (BOOL)isLittleEndian; -- (BOOL)isExplicitTS; -- (BOOL)isEncapsulated; -- (BOOL)dataRemaining; -- (NSStringEncoding) stringEncoding; -- (void)setLittleEndian:(BOOL)value; -- (void)setExplicitTS:(BOOL)value; - -- (void)setStringEncoding:(NSStringEncoding)encoding; - -- (unsigned char)nextUnsignedChar; -- (unsigned short)nextUnsignedShort; -- (short)nextSignedShort; -- (unsigned int)nextUnsignedLong; -- (int)nextSignedLong; -- (unsigned long long)nextUnsignedLongLong; -- (long long)nextSignedLongLong; -- (float)nextFloat; -- (double)nextDouble; - -- (NSString *)nextStringWithLength:(int)length; -- (NSString *)nextStringWithLength:(int)length encoding:(NSStringEncoding)encoding; -- (NSCalendarDate *)nextDate; -- (NSMutableArray *)nextDatesWithLength:(int)length; -- (NSCalendarDate *)nextTimeWithLength:(int)length; -- (NSMutableArray *)nextTimesWithLength:(int)length; -- (NSCalendarDate *)nextDateTimeWithLength:(int)length; -- (NSMutableArray *)nextDateTimesWithLength:(int)length; -- (NSMutableData *)nextDataWithLength:(int)length; -- (BOOL)skipLength:(int)length; - -- (void)addUnsignedChar:(unsigned char)uChar; -- (void)addSignedChar:(signed char)sChar; -- (void)addUnsignedShort:(unsigned short)uShort; -- (void)addSignedShort:(signed short)sShort; -- (void)addUnsignedLong:(unsigned long)uLong; -- (void)addSignedLong:(signed long)sLong; -- (void)addUnsignedLongLong:(unsigned long long)uLongLong; -- (void)addSignedLongLong:(signed long long)sLongLong; -- (void)addFloat:(float)f; -- (void)addDouble:(double)d; - -- (void)addString:(NSString *)string; -- (void)addString:(NSString *)string withEncoding:(NSStringEncoding)encoding; -- (void)addStringWithoutPadding:(NSString *)string; -- (void)addDate:(DCMCalendarDate *)date; -- (void)addTime:(DCMCalendarDate *)time; -- (void)addDateTime:(DCMCalendarDate *)dateTime; -- (void)addData:(NSData *)data; - - -- (void)setUseMetaheaderTS:(BOOL)flag; -- (BOOL)determineTransferSyntax; - - -- (NSException *)testForLength: (int)elementLength; - -- (unsigned)length; -- (int)offset; -- (void)startReadingMetaHeader; -- (void)startReadingDataSet; - -- (void)addPremable; -- (NSMutableData *)dicomData; - - - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DCMObject.h b/CMIV_CTA_TOOLS/OsiriX Headers/DCMObject.h deleted file mode 100644 index 3d2074f..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DCMObject.h +++ /dev/null @@ -1,140 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/* - This is the main object representaing a Dicom File or as a list of Attributes for networking -*/ - -#import - -@class DCMAttribute; -@class DCMAttributeTag; -@class DCMDataContainer; -@class DCMCharacterSet; -@class DCMTagDictionary ; -@class DCMTagForNameDictionary; -@class DCMTransferSyntax; - -@interface DCMObject : NSObject { - - NSMutableDictionary *attributes; - NSDictionary *dicomDict; - DCMTagDictionary *sharedTagDictionary; - DCMTagForNameDictionary *sharedTagForNameDictionary; - DCMCharacterSet *specificCharacterSet; - DCMTransferSyntax *transferSyntax; - BOOL _decodePixelData; - -} -+ (BOOL)isDICOM:(NSData *)data; -+ (NSString *)rootUID; -+ (NSString *)implementationClassUID; -+ (NSString *)implementationVersionName; -+ (id)dcmObject; -//+ (BOOL)anonymizeContentsOfFile:(NSString *)file tags:(NSArray *)tags writingToFile:(NSString *)destination newPatientName:(NSString*) patName; -+ (BOOL)anonymizeContentsOfFile:(NSString *)file tags:(NSArray *)tags writingToFile:(NSString *)destination; -+ (id)secondaryCaptureObjectFromTemplate:(DCMObject *)object; -+ (id)secondaryCaptureObjectWithBitDepth:(int)bitDepth samplesPerPixel:(int)spp numberOfFrames:(int)nff; -+ (id)objectWithData:(NSData *)data decodingPixelData:(BOOL)decodePixelData; -+ (id)objectWithContentsOfFile:(NSString *)file decodingPixelData:(BOOL)decodePixelData; -+ (id)objectWithContentsOfURL:(NSURL *)aURL decodingPixelData:(BOOL)decodePixelData; -+ (id)objectWithObject:(DCMObject *)object; -- (id)initWithData:(NSData *)data decodingPixelData:(BOOL)decodePixelData; -- (id)initWithData:(NSData *)data transferSyntax:(DCMTransferSyntax *)syntax; -- (id)initWithContentsOfFile:(NSString *)file decodingPixelData:(BOOL)decodePixelData; -- (id)initWithContentsOfURL:(NSURL *)aURL decodingPixelData:(BOOL)decodePixelData; -- (id)initWithObject:(DCMObject *)object; -- (id)initWithDataContainer:(DCMDataContainer *)data lengthToRead:(long)lengthToRead byteOffset:(long *)byteOffset characterSet:(DCMCharacterSet *)characterSet decodingPixelData:(BOOL)decodePixelData; -- (id)init; -//Dicom Parsing -- (int)getGroup:(DCMDataContainer *)dicomData; -- (int)getElement:(DCMDataContainer *)dicomData; -- (int)length:(DCMDataContainer *)dicomData; -- (NSString *)getvr:(DCMDataContainer *)dicomData forTag:(DCMAttributeTag *)tag isExplicit:(BOOL)isExplicit; -- (NSMutableArray *)getValues:(DCMDataContainer *)dicomData; - -- (long)readDataSet:(DCMDataContainer *)dicomData lengthToRead:(long)lengthToRead byteOffset:(long *)byteOffset; -- (long)readNewSequenceAttribute:(DCMAttribute *)attr dicomData:(DCMDataContainer *)dicomData byteOffset:(long *)byteOffset lengthToRead:(long)lengthToRead specificCharacterSet:(DCMCharacterSet *)specificCharacterSet; -- (DCMAttribute *) newAttributeForAttributeTag:(DCMAttributeTag *)tag - vr:(NSString *)vr - length:(long) vl - data:(DCMDataContainer *)dicomData - specificCharacterSet:(DCMCharacterSet *)specificCharacterSet - isExplicit:(BOOL) explicitTS - forImplicitUseOW:(BOOL)forImplicitUseOW; - -- (void)removeMetaInformation; -- (void)updateMetaInformationWithTransferSyntax: (DCMTransferSyntax *)ts aet:(NSString *)aet; -- (void)removeGroupLengths; -- (void)removePrivateTags; -- (void)removePlanarAndRescaleAttributes; -//- (void)anonyimizeAttributeForTag:(DCMAttributeTag *)tag newPatientName:(NSString*) patName; -- (void)anonyimizeAttributeForTag:(DCMAttributeTag *)tag replacingWith:(id)aValue; -- (void)newStudyInstanceUID; -- (void)newSeriesInstanceUID; -- (void)newSOPInstanceUID; -- (NSString *)anonymizeString:(NSString *)string; -- (DCMTransferSyntax *)transferSyntax; -- (DCMCharacterSet *)specificCharacterSet; -- (void)setCharacterSet:(DCMCharacterSet *)characterSet; -- (DCMAttribute *)attributeForTag:(DCMAttributeTag *)tag; -- (id)attributeValueWithName:(NSString *)name; -- (id)attributeValueForKey:(NSString *)key; -- (DCMAttribute *)attributeWithName:(NSString *)name; -- (NSArray *)attributeArrayWithName:(NSString *)name; -- (void)setAttribute:(DCMAttribute *)attr; -- (void)addAttributeValue:(id)value forName:(NSString *)name; -- (void)setAttributeValues:(NSMutableArray *)values forName:(NSString *)name; -- (NSMutableDictionary *)attributes; -- (BOOL)pixelDataIsDecoded; - -- (BOOL)writeToDataContainer:(DCMDataContainer *)container withTransferSyntax:(DCMTransferSyntax *)ts AET:(NSString *)aet asDICOM3:(BOOL)flag; -- (BOOL)writeToDataContainer:(DCMDataContainer *)container - withTransferSyntax:(DCMTransferSyntax *)ts - quality:(int)quality - asDICOM3:(BOOL)flag - AET:(NSString *)aet - strippingGroupLengthLength:(BOOL)stripGroupLength; -- (BOOL)writeToFile:(NSString *)path withTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality AET:(NSString *)aet atomically:(BOOL)flag; -- (BOOL)writeToURL:(NSURL *)aURL withTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality AET:(NSString *)aet atomically:(BOOL)flag; - -- (NSData *)writeDatasetWithTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality; -- (BOOL)isNeededAttribute:(char *)tagString; - -- (NSXMLNode *)xmlNode; -- (NSXMLDocument *)xmlDocument; - - -//deprecated methods -- (BOOL)writeToDataContainer:(DCMDataContainer *)container withTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality; -- (BOOL)writeToDataContainer:(DCMDataContainer *)container withTransferSyntax:(DCMTransferSyntax *)ts asDICOM3:(BOOL)flag; -- (BOOL)writeToDataContainer:(DCMDataContainer *)container - withTransferSyntax:(DCMTransferSyntax *)ts - quality:(int)quality - asDICOM3:(BOOL)flag - strippingGroupLengthLength:(BOOL)stripGroupLength; -- (BOOL)writeToDataContainer:(DCMDataContainer *)container withTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality asDICOM3:(BOOL)flag; -- (BOOL)writeToFile:(NSString *)path withTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality atomically:(BOOL)flag; -- (BOOL)writeToURL:(NSURL *)aURL withTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality atomically:(BOOL)flag; - -//sequences -- (NSArray *)referencedSeriesSequence; -- (NSArray *)referencedImageSequenceForObject:(DCMObject *)object; - -//Structured Report Object -+ (id)objectWithCodeValue:(NSString *)codeValue - codingSchemeDesignator:(NSString *)codingSchemeDesignator - codeMeaning:(NSString *)codeMeaning; - - - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DCMPix.h b/CMIV_CTA_TOOLS/OsiriX Headers/DCMPix.h deleted file mode 100644 index c1cd6d7..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,660 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import -#include - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class ROI; -@class ThickSlabController; -@class DCMObject; -@class Point3D; - -/** \brief Represents an image for display */ - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; /**< source File */ - BOOL isBonjour; /**< Flag to indicate if file is accessed over Bonour */ - BOOL nonDICOM; /**< Flag to indicate if file is not DICOM */ - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; /**< Core data object for image */ - float *fImage /**< float buffer of image Data */, *fExternalOwnedImage; /**< float buffer of image Data - provided by another source, not owned by this object, not release by this object */ - char *wImage; /**< ? */ - -//DICOM TAGS - -// orientation -// Point3D *origin; - BOOL isOriginDefined; - double originX /**< x position of image origin */ , originY /**< y Position of image origin */ , originZ /**< Z position of image origin*/; - double orientation[ 9]; /**< pointer to orientation vectors */ - NSString *frameOfReferenceUID; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored; - float slope, offset; - -// image size - long height, width; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - BOOL generated; - NSString *generatedName; - NSLock *checking; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSData *transferFunction; - float *transferFunctionPtr; - -/** custom annotations */ - NSMutableDictionary *annotationsDictionary; - -/** 12 bit monitors */ - BOOL isLUT12Bit; - unsigned char *LUT12baseAddr; - - BOOL full32bitPipeline, needToCompute8bitRepresentation; - -/** Papyrus Loading variables */ - - NSString *modalityString; - unsigned short clutEntryR, clutEntryG, clutEntryB; - unsigned short clutDepthR, clutDepthG, clutDepthB; - unsigned char *clutRed, *clutGreen, *clutBlue; - int realwidth; - BOOL fSetClut, fSetClut16; -} - -@property long frameNo; -@property(setter=setID:) long ID; - -@property float minValueOfSeries, maxValueOfSeries; - -// Dimensions in pixels -@property long pwidth, pheight; - -/** Is it an RGB image (ARGB) or float image? -Note setter is different to not break existing usage. :-( */ -@property(setter=setRGB:) BOOL isRGB; - -/** Pointer to image data */ -@property(setter=setfImage:) float* fImage; - -/** WW & WL */ -@property(readonly) float ww, wl, fullww, fullwl; -@property float savedWW, savedWL, *subtractedfImage; - -@property(readonly) float slope, offset; - -/** X/Y ratio - non-square pixels */ -@property double pixelRatio; - -/** pixel size */ -@property double pixelSpacingX, pixelSpacingY; - -/** Slice orientation */ -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (BOOL) identicalOrientationTo:(DCMPix*) c; - -- (void)orientationDouble:(double*) c; -- (void)setOrientationDouble:(double*) c; - -/** Slice location */ -@property(readonly) double originX, originY, originZ; -@property(readonly) BOOL isOriginDefined; - -/** Frame Of Reference UID */ -@property(copy) NSString *frameOfReferenceUID; - -- (void)setOrigin :(float*) o; -- (void)setOriginDouble :(double*) o; -- (void)origin: (float*)o; -- (void)originDouble: (double*)o; - -/** Axial Location */ -@property double sliceLocation; -/** Slice Thickness */ -@property double sliceThickness; -/** Slice Interval */ -@property double sliceInterval; -/** Gap between slices */ -@property(readonly) double spacingBetweenSlices; - -/** 8-bit TransferFunction */ -@property(retain) NSData *transferFunction; - -@property NSPoint subPixOffset; - -@property long DCMPixShutterRectWidth, DCMPixShutterRectHeight; -@property long DCMPixShutterRectOriginX, DCMPixShutterRectOriginY; - -@property(retain) NSString *repetitiontime, *echotime; -@property(readonly) NSString *flipAngle, *laterality; - -@property(readonly) NSString *protocolName; -@property(readonly) NSString *viewPosition; -@property(readonly) NSString *patientPosition; - -@property char* baseAddr; -@property unsigned char* LUT12baseAddr; - -@property(readonly) long serieNo; -@property(readonly) NSArray *pixArray; -@property(readonly) float *transferFunctionPtr; -@property short pixPos; -@property short stackDirection; -@property float countstackMean; - -@property(getter=Tot, setter=setTot:) long Tot; - -@property(readonly) short stack, stackMode; -@property(readonly) BOOL generated; -@property(retain) NSString *generatedName; -@property(retain) NSString *sourceFile; - -/** Database links */ -@property(readonly) NSManagedObject *seriesObj; -@property(retain) NSManagedObject *imageObj; -@property(retain) NSString *srcFile; -@property(retain) NSMutableDictionary *annotationsDictionary; - -// Properties (aka accessors) needed for SUV calculations -@property(readonly) float philipsFactor; -@property float patientsWeight; -@property float halflife; -@property float radionuclideTotalDose; -@property float radionuclideTotalDoseCorrected; -@property(retain) NSCalendarDate *acquisitionTime; -@property(retain) NSCalendarDate *radiopharmaceuticalStartTime; -@property BOOL SUVConverted, full32bitPipeline, needToCompute8bitRepresentation; -@property(readonly) BOOL hasSUV; -@property float decayFactor; -@property(retain) NSString *units, *decayCorrection; -@property BOOL displaySUVValue; - -@property BOOL isLUT12Bit; - -- (void) copySUVfrom: (DCMPix*) from; /**< Copy the SUV from another DCMPic */ -- (float) getPixelValueX: (long) x Y:(long) y; /**< Get the pixel for a point with x,y coordinates */ - -- (void) checkSUV; /**< Makes sure all the necessary values for SUV calculation are present */ - -+ (void) checkUserDefaults: (BOOL) update; /**< Check User Default for needed setting */ -+ (void) resetUserDefaults; /**< Reset the defaults */ - /** Determine if a point is inside a polygon - * @param x is the NSPoint to check. - * @param poly is a pointer to an array of NSPoints. - * @param count is the number of - * points in the polygon. -*/ -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -- (void) compute8bitRepresentation; -- (void) changeWLWW:(float)newWL :(float)newWW; /**< Change window level to window width to the new values */ -- (void) computePixMinPixMax; /**< Compute the min and max values in the image */ - -// Compute ROI data -/** Calculates the cofactor used Calcium scoring. -* Depends on the threshold used for scoring -* Threshold is usually 90 or 120 depending on whether the source is -* Electron Beam or Multislice CT -*/ -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; - -/** returns calculated values for ROI: -* mean, total, deviation, min, max -*/ -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -/** Not sure when this is used rather than computeROI: */ -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack -* @param stackNo -* @param restore -* @param addition -*/ -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition spline:(BOOL) spline; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack ? -* @param stackNo -* @param restore -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientation -* @param stackNo -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; - -/** Fill a ROI with a value. -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside If YES replace outside the ROI -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi size:(NSSize*) size origin:(NSPoint*) origin; /**< Map from Polygon ROI */ - -/** Is this Point (pt) in this ROI ? */ -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -* using current slice location and orientation -*/ -- (void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; -- (void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d pixelCenter: (BOOL) pixelCenter; - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords double d[3] (in mm) -* using current slice location and orientation -*/ -- (void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; -- (void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d pixelCenter: (BOOL) pixelCenter; - -/** convert DICOM coordinated to slice coordinates */ -- (void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; -- (void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc pixelCenter:(BOOL) pixelCenter; - -/** convert DICOM coordinated to slice coordinates */ -- (void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; -- (void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc pixelCenter:(BOOL) pixelCenter; - -/** Return index & sliceCoords */ -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; - - - -- (BOOL) thickSlabVRActivated; /**< Activate Thick Slab VR */ - -/** convert to Black and White. -* @param mode values: 0 Use Red Channel, 1 use Green Channel 2 use Blue Channel 3 Merge and use RGB -*/ -- (void) ConvertToBW:(long) mode; - -/** convert to RGB. -* @param mode values: 0 create Red Channel, 1 create Green Channel 2 create Blue Channel 3 create all channels -* @param cwl = window level to use -* @param cww = window width to use -*/ -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; - -- (float) cineRate; /**< Returns the Cine rate */ - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (void) imageArithmeticSubtraction:(DCMPix*) sub absolute:(BOOL) abs; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; --(float*) arithmeticSubtractImages :(float*) input :(float*) subfImage absolute:(BOOL) abs; -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; -- (BOOL) isLoaded; -- (void) fImageTime:(float)newTime; -- (float) fImageTime; -- (void) freefImageWhenDone:(BOOL) b; -- (void) maskID:(long)newID; -- (long) maskID; -- (void) maskTime:(float)newMaskTime; -- (float) maskTime; -- (void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; -- (NSNumber*) positionerPrimaryAngle; -- (void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; -- (NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -+ (NSPoint) originCorrectedAccordingToOrientation: (DCMPix*) pix1; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; -- (void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; -- (BOOL) DCMPixShutterOnOff; -- (void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -//- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; /**< Returns an Empty object */ -- (short*) kernel; -+ (NSPoint) rotatePoint:(NSPoint)pt aroundPoint:(NSPoint)c angle:(float)a; -- (short) normalization; -- (short) kernelsize; -- (DCMPix*) renderWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) renderWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF backgroundOffset: (float) bgO; -- (NSRect) usefulRectWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) mergeWithDCMPix:(DCMPix*) o offset:(NSPoint) oo; -- (DCMPix*) renderInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) renderInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF smartCrop: (BOOL) smartCrop; -- (NSImage*) renderNSImageInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -/** calls -* myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO -* with hello = NO and iO = nil -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; - -/** Initialize -* doesn't load pix data, only initializes instance variables -* @param s filename -* @param pos imageID Position in array. -* @param tot imTot Total number of images. -* @param ptr pointer to volume -* @param f frame number -* @param ss series number -* @param hello flag to indicate remote bonjour file -* @param iO coreData image Entity for image -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; - -/** init with data pointer -* @param im pointer to image data -* @param pixelSize pixelDepth in bits -* @param xDim image width -* @param yDim =image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; - -/** init with data pointer -* @param im = pointer to image data -* @param pixelSize = pixelDepth in bits -* @param xDim image width -* @param yDim image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -* @param volSize ? -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (id) initWithImageObj: (NSManagedObject *)entity; -- (id) initWithContentsOfFile: (NSString *)file; -/** create an NSImage from the current pix -* @param smallIcon thumbnail size -* @param newWW window width to use -* @param newWL window level to use; -*/ -- (NSImage*) generateThumbnailImageWithWW: (float)newWW WL: (float)newWL; -- (void) allocate8bitRepresentation; - -/** create an NSImage from the current pix using the current ww/wl. Full size*/ -- (NSImage*) image; - -/** reeturns the current image. returns nil if no image has be previously created */ -// - (NSImage*) getImage; - -/** A pointer to the orientation. 9 values in length. 3 for each axis. */ -- (void) orientation:(float*) c; - -/** Sets the orientation. 9 values in length. 3 for each axis. */ -- (void) setOrientation:(float*) c; - -/** Releases the current NSImage */ -- (void) kill8bitsImage; - -- (void) checkImageAvailble:(float)newWW :(float)newWL; - -/** Load the DICOM image using the DCMFramework. -* There should be no reason to call this. The class will call it when needed. */ -- (BOOL)loadDICOMDCMFramework; - -/** Load the DICOM image using Papyrus. -* There should be no reason to call this. The class will call it when needed. -*/ -- (BOOL) loadDICOMPapyrus; - -/** Reset the Annotations */ -- (void) reloadAnnotations; - - -/** Parses the file. Extracts necessary data. Load image data. -* This class will be called by the class when necessay. -* There should be no need to call it externally -*/ -- (void) CheckLoadIn; - -/** Calls CheckLoadIn when needed */ -- (void) CheckLoad; - -/** Compute the float pointer for the image data */ -- (float*) computefImage; - -/** Sets fusion paramaters -* @param m stack mode -* @param s stack -* @param direction stack direction -*/ -- (void) setFusion:(short) m :(short) s :(short) direction; - -/** Sets updateToBeApplied to YES. It is called whenver a setting has been changed. -* Should be called by the class automatically when needed */ -- (void) setUpdateToApply; - - -/** Releases the fImage and sets all values to nil. */ -- (void)revert; - -/** finds the min and max pixel values. -* Sets the appropriate values for fullWW and fullWL -*/ -- (void) computePixMinPixMax; - -/** Sets the ThickSlabController */ -- (void) setThickSlabController:( ThickSlabController*) ts; - - -/** Sets the fixed8bitsWLWW flag */ -- (void) setFixed8bitsWLWW:(BOOL) f; - -/** Creates a DCMPix with the original values and places it in the restore cache*/ -- (void) prepareRestore; - - -/** Releases the restored DCMPix from the restoreCache */ -- (void) freeRestore; - -/** Sets flag for when OsiriX is running in protected mode */ -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; - -/** Returns flag for protected mode */ -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -/** Clears the papyrus group cache */ -- (void) clearCachedPapyGroups; -- (void) clearCachedDCMFrameworkFiles; -+ (void) purgeCachedDictionaries; - -/** Returns a pointer the the papyrus group -* @param group group -* @param fileNb papyrus file -*/ -- (void *) getPapyGroup: (int)group; - -/** create ROIs from RTSTRUCT */ -- (void)createROIsFromRTSTRUCT: (DCMObject*)dcmObject; - -#ifdef OSIRIX_VIEWER - -/** Custom Annotations */ -- (void)loadCustomImageAnnotationsPapyLink:(int)fileNb DCMLink:(DCMObject*)dcmObject; -- (NSString*) getDICOMFieldValueForGroup:(int)group element:(int)element papyLink:(short)fileNb; -- (NSString*) getDICOMFieldValueForGroup:(int)group element:(int)element DCMLink:(DCMObject*)dcmObject; - -/** Set flag to anonymize the annotations */ -+ (BOOL) setAnonymizedAnnotations: (BOOL) v; -#endif - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DCMPixelDataAttribute.h b/CMIV_CTA_TOOLS/OsiriX Headers/DCMPixelDataAttribute.h deleted file mode 100644 index c44fc26..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DCMPixelDataAttribute.h +++ /dev/null @@ -1,128 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// 7/7/2005 Fixed bug with planar configuration and YBR. LP - -#import -#import "DCMAttribute.h" - -enum photometricmode{DCM_UNKNOWN_PHOTOMETRIC, DCM_MONOCHROME1, DCM_MONOCHROME2, DCM_RGB, DCM_ARGB, DCM_YBR_FULL_422, DCM_YBR_PARTIAL_422, DCM_YBR_FULL, DCM_YBR_RCT, DCM_YBR_ICT, DCM_HSV, DCM_CMYK, DCM_PALETTE }; - - - -@class DCMTransferSyntax; -@class DCMObject; -@class NSImage; - -@interface DCMPixelDataAttribute : DCMAttribute { - int _rows; - int _columns; - int _samplesPerPixel; - int _bytesPerSample; - int _numberOfFrames; - int _pixelDepth; - int _bitsStored; - BOOL _isShort, _isSigned; - float _compression; - int _min; - int _max; - DCMTransferSyntax *transferSyntax; - BOOL _isDecoded; - DCMObject *_dcmObject; - BOOL _framesCreated; - -} - - - -- (id) initWithAttributeTag:(DCMAttributeTag *)tag - vr:(NSString *)vr - length:(long) vl - data:(DCMDataContainer *)dicomData - specificCharacterSet:(DCMCharacterSet *)specificCharacterSet - transferSyntax:(DCMTransferSyntax *)ts - dcmObject:(DCMObject *)dcmObject - decodeData:(BOOL)decodeData; - -- (void)deencapsulateData:(DCMDataContainer *)dicomData; - -- (void)setRows:(int)rows; -- (void)setColumns:(int)columns; -- (void)setNumberOfFrames:(int)frames; -- (void)setTransferSyntax:(DCMTransferSyntax *)ts; -- (void)setSamplesPerPixel:(int)spp; -- (void)setBytesPerSample:(int)bps; -- (void)setPixelDepth:(int)depth; -- (void)setIsShort:(BOOL)value; -- (void)setCompression:(float)compression; -- (void)setIsDecoded:(BOOL)value; - - -- (int)rows; -- (int)columns; -- (int)numberOfFrames; -- (DCMTransferSyntax *)transferSyntax; -- (int)samplesPerPixel; -- (int)bytesPerSample; -- (int)pixelDepth; -- (BOOL)isShort; -- (float)compression; -- (BOOL)isDecoded; - - - -- (void)addFrame:(NSMutableData *)data; -- (void)replaceFrameAtIndex:(int)index withFrame:(NSMutableData *)data; - - -//Pixel decoding -- (void)decodeData; -- (BOOL)convertToTransferSyntax:(DCMTransferSyntax *)ts quality:(int)quality; -- (NSMutableData *)encodeJPEG2000:(NSMutableData *)data quality:(int)quality; -- (NSMutableData *)convertDataFromLittleEndianToHost:(NSMutableData *)data; -- (NSMutableData *)convertDataFromBigEndianToHost:(NSMutableData *)data; -- (void)convertLittleEndianToHost; -- (void)convertBigEndianToHost; -- (void)convertHostToLittleEndian; -- (void)convertHostToBigEndian; -- (NSMutableData *)convertJPEG8ToHost:(NSData *)jpegData; -- (NSMutableData *)convertJPEG2000ToHost:(NSData *)jpegData; -- (NSMutableData *)convertRLEToHost:(NSData *)rleData; -//- (void)decodeRescale:(NSMutableData *)data; -- (void)encodeRescale:(NSMutableData *)data WithRescaleIntercept:(int)offset; -- (void)encodeRescale:(NSMutableData *)data WithPixelDepth:(int)pixelDepth; -#if __ppc__ -- (void)decodeRescaleAltivec:(NSMutableData *)data; -- (void)encodeRescaleAltivec:(NSMutableData *)data withPixelDepth:(int)pixelDepth; -#endif -- (void)decodeRescaleScalar: (NSMutableData *)data; -- (void)encodeRescaleScalar:(NSMutableData *)data withPixelDepth:(int)pixelDepth; -- (void)createOffsetTable; -- (void)interleavePlanes; -- (NSMutableData *)interleavePlanesInData:(NSMutableData *)data; -- (NSMutableData *)createFrameAtIndex:(int)index; -- (void)createFrames; -- (void)setLossyImageCompressionRatio:(NSMutableData *)data; -- (void)findMinAndMax:(NSMutableData *)data; -- (void)decodeRescale; -//RGB data will be interleaved after being converted from Palette or YBR. -- (void)convertToRGBColorspace; -- (NSMutableData *)convertDataToRGBColorSpace:(NSMutableData *)data; -- (NSMutableData *)convertPaletteToRGB:(NSMutableData *)data; -- (NSMutableData *) convertYBrToRGB:(NSData *)ybrData kind:(NSString *)theKind isPlanar:(BOOL)isPlanar; -- (NSMutableData *)convertToFloat:(NSMutableData *)data; -- (NSMutableData *)decodeFrameAtIndex:(int)index; -- (NSImage *)imageAtIndex:(int)index ww:(float)ww wl:(float)wl; - - - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DCMView.h b/CMIV_CTA_TOOLS/OsiriX Headers/DCMView.h deleted file mode 100644 index 7844ad7..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,509 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import -#import - -#include -#include -#include -#include -#include -#include - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -// WARNING: If you add or modify this list, check ViewerController.m, DCMView.h and HotKey Pref Pane - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - -typedef enum {DCMViewTextAlignLeft, DCMViewTextAlignCenter, DCMViewTextAlignRight} DCMViewTextAlign; - -@class GLString; -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; -@class DICOMExport; -//@class LoupeController; -@class DCMObject; - -@interface DCMExportPlugin: NSObject -- (void) finalize:(DCMObject*) dcmDst withSourceObject:(DCMObject*) dcmObject; -- (NSString*) seriesName; -@end - -/** \brief Image/Frame View for ViewerController */ - -@interface DCMView: NSOpenGLView -{ - NSInteger _imageRows; - NSInteger _imageColumns; - NSInteger _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - int volumicData; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], opaqueTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - - float sliceFromTo[ 2][ 3], sliceFromToS[ 2][ 3], sliceFromToE[ 2][ 3], sliceFromTo2[ 2][ 3], sliceFromToThickness; - - float sliceVector[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - DCMExportPlugin *dcmExportPlugin; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight, currentMouseEventTool; - - BOOL mouseDragging; - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - BOOL curWLWWSUVConverted; - float curWLWWSUVFactor; - - NSSize scaleStart, scaleInit; - - double resizeTotal; - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; - long textureY, blendingTextureY; - GLuint * pTextureName; - GLuint * blendingTextureName; - long textureWidth, blendingTextureWidth; - long textureHeight, blendingTextureHeight; - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - - BOOL cursorSet; - NSTrackingArea *cursorTracking; - - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSTimer *_rightMouseDownTimer; //Checking For Right hold - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged, needToLoadTexture, dontEnterReshape, showDescriptionInLarge; - - GLString *showDescriptionInLargeText; - - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible, updateNotificationRunning; - - char *resampledBaseAddr, *blendingResampledBaseAddr; - BOOL zoomIsSoftwareInterpolated, firstTimeDisplay; - - int resampledBaseAddrSize, blendingResampledBaseAddrSize; - - // iChat - float iChatWidth, iChatHeight; - unsigned char* iChatCursorTextureBuffer; - GLuint iChatCursorTextureName; - NSSize iChatCursorImageSize; - NSPoint iChatCursorHotSpot; - - GLuint iChatFontListGL; - NSFont *iChatFontGL; - long iChatFontListGLSize[ 256]; - NSMutableDictionary *iChatStringTextureCache; - NSSize iChatStringSize; - NSRect drawingFrameRect; - - BOOL exceptionDisplayed; - BOOL COPYSETTINGSINSERIES; - BOOL is2DViewerCached, is2DViewerValue; - - char* lensTexture; - int LENSSIZE; - float LENSRATIO; - BOOL cursorhidden; - int avoidRecursiveSync; - BOOL avoidChangeWLWWRecursive; - BOOL TextureComputed32bitPipeline; - - NSImage *loupeImage, *loupeMaskImage; - GLuint loupeTextureID, loupeTextureWidth, loupeTextureHeight; - GLubyte *loupeTextureBuffer; - GLuint loupeMaskTextureID, loupeMaskTextureWidth, loupeMaskTextureHeight; - GLubyte *loupeMaskTextureBuffer; - - // LoupeController *loupeController; -} - -@property NSRect drawingFrameRect; -@property(readonly) NSMutableArray *rectArray, *curRoiList; -@property BOOL COPYSETTINGSINSERIES, flippedData, dontEnterReshape, showDescriptionInLarge; -@property(readonly) NSMutableArray *dcmPixList, *dcmRoiList; -@property(readonly) NSArray *dcmFilesList; -@property long syncSeriesIndex; -@property float syncRelativeDiff; -@property long blendingMode; -@property(retain,setter=setBlending:) DCMView *blendingView; -@property(readonly) float blendingFactor; -@property BOOL xFlipped, yFlipped; -@property(retain) NSString *stringID; -@property short currentTool; -@property(setter=setRightTool:) short currentToolRight; -@property(readonly) short curImage; -@property(retain) NSMatrix *theMatrix; -@property(readonly) BOOL suppressLabels; -@property float scaleValue, rotation; -@property NSPoint origin, originOffset; -@property(readonly) double pixelSpacing, pixelSpacingX, pixelSpacingY; -@property(readonly) DCMPix *curDCM; -@property(retain) DCMExportPlugin *dcmExportPlugin; -@property(readonly) float mouseXPos, mouseYPos; -@property(readonly) float contextualMenuInWindowPosX, contextualMenuInWindowPosY; -@property(readonly) GLuint fontListGL; -@property(readonly) NSFont *fontGL; -@property NSInteger tag; -@property(readonly) float curWW, curWL; -@property NSInteger rows, columns; -@property(readonly) NSCursor *cursor; -@property BOOL eraserFlag; -@property BOOL drawing; -@property BOOL volumicSeries; -@property(readonly) BOOL isKeyView, mouseDragging; - -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -+ (int) DistancePointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint :(float*) Distance; -+ (float) pbase_Plane: (float*) point :(float*) planeOrigin :(float*) planeVector :(float*) pointProjection; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (void) gClickCountSetReset; -- (int) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; - -- (unsigned char*) getRawPixelsWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allTiles:(BOOL) allTiles allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing; -- (unsigned char*) getRawPixelsWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allTiles:(BOOL) allTiles allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing offset:(int*) offset isSigned:(BOOL*) isSigned; - -- (unsigned char*) getRawPixelsViewWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing; -- (unsigned char*) getRawPixelsViewWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing offset:(int*) offset isSigned:(BOOL*) isSigned; - -- (void) blendingPropagate; -- (void) subtract:(DCMView*) bV; -- (void) subtract:(DCMView*) bV absolute:(BOOL) abs; -- (void) multiply:(DCMView*) bV; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT textureWidth: (long*) tW textureHeight:(long*) tH resampledBaseAddr:(char**) rAddr resampledBaseAddrSize:(int*) rBAddrSize; -- (short)syncro; -- (void)setSyncro:(short) s; - -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (NSPoint) ConvertFromNSView2GL:(NSPoint) a; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromUpLeftView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (NSPoint) ConvertFromGL2NSView:(NSPoint) a; -- (NSPoint) ConvertFromGL2Screen:(NSPoint) a; -- (NSPoint) ConvertFromGL2GL:(NSPoint) a toView:(DCMView*) otherView; -- (NSRect) smartCrop; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (NSImage*) nsimage; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (NSDictionary*) exportDCMCurrentImage: (DICOMExport*) exportDCM size:(int) size; -- (NSImage*) exportNSImageCurrentImageWithSize:(int) size; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (void) sendSyncMessage:(short) inc; -- (void) loadTextures; -- (void)loadTexturesCompute; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (NSPoint) rotatePoint:(NSPoint) a; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginX:(float) x Y:(float) y; -- (void) setOriginOffset:(NSPoint) x; -- (void) scaleToFit; -- (float) scaleToFitForDCMPix: (DCMPix*) d; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) sync:(NSNotification*)note; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (NSArray*) filenames; -- (BOOL)checkHasChanged; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY :(long) tW :(long) tH; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawNSStringGL:(NSString*)str :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawCStringGL:(char*)cstrOut :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) drawImage:(NSImage *)image inBounds:(NSRect)rect; -- (void) setScaleValueCentered:(float) x; -- (void) updateCurrentImage: (NSNotification*) note; -- (void) setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void) updateTilingViews; -- (void) becomeMainWindow; -- (void) checkCursor; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void) updatePresentationStateFromSeries; -- (void) updatePresentationStateFromSeriesOnlyImageLevel: (BOOL) onlyImage; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) computeMagnifyLens:(NSPoint) p; -- (void)makeTextureFromImage:(NSImage*)image forTexture:(GLuint*)texName buffer:(GLubyte*)buffer textureUnit:(GLuint)textureUnit; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) updateImage; -- (BOOL) shouldPropagate; -- (NSPoint) convertFromView2iChat: (NSPoint) a; -- (NSPoint) convertFromNSView2iChat: (NSPoint) a; -- (void) annotMenu:(id) sender; -- (ROI*) clickInROI: (NSPoint) tempPt; -- (void) switchShowDescriptionInLarge; -- (void) deleteLens; -- (void)getOrientationText:(char *) orientation : (float *) vector :(BOOL) inv; -- (NSMutableArray*) selectedROIs; -- (void) computeSliceIntersection: (DCMPix*) oPix sliceFromTo: (float[2][3]) sft vector: (float*) vectorB origin: (float*) originB; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx withShift: (double) shift; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx withShift: (double) shift showPoint: (BOOL) showPoint; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular withShift:(double) shift; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular withShift:(double) shift half:(BOOL) half; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular withShift:(double) shift half:(BOOL) half showPoint: (BOOL) showPoint; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; -- (void) roiLoadFromFilesArray: (NSArray*) filenames; -- (id)windowController; -- (BOOL)is2DViewer; --(BOOL)actionForHotKey:(NSString *)hotKey; -+(NSDictionary*) hotKeyDictionary; -+(NSDictionary*) hotKeyModifiersDictionary; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (BOOL)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -- (void)setIsLUT12Bit:(BOOL)boo; -- (BOOL)isLUT12Bit; - -//- (void)displayLoupe; -//- (void)displayLoupeWithCenter:(NSPoint)center; -//- (void)hideLoupe; - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/DICOMExport.h b/CMIV_CTA_TOOLS/OsiriX Headers/DICOMExport.h deleted file mode 100644 index bcf70af..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/DICOMExport.h +++ /dev/null @@ -1,83 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -@class DCMObject; -@class DCMExportPlugin; - -/** \brief Export image as DICOM */ -@interface DICOMExport : NSObject -{ - NSString *dcmSourcePath; - DCMObject *dcmDst; - - // Raw data support - unsigned char *data; - long width, height, spp, bpp; - BOOL isSigned, modalityAsSource; - int offset; - - // NSImage support - NSImage *image; - NSBitmapImageRep *imageRepresentation; - unsigned char *imageData; - BOOL freeImageData; - - int exportInstanceNumber, exportSeriesNumber; - NSString *exportSeriesUID; - NSString *exportSeriesDescription; - - long ww, wl; - float spacingX, spacingY; - float sliceThickness; - float sliceInterval; - float orientation[ 6]; - float position[ 3]; - float slicePosition; -} - -// Is this DCM file based on another DCM file? -- (void) setSourceFile:(NSString*) isource; - -// Set Pixel Data from a raw source -- (long) setPixelData: (unsigned char*) idata - samplePerPixel: (long) ispp - bitsPerPixel: (long) ibpp - width: (long) iwidth - height: (long) iheight; - -- (void) setSigned: (BOOL) s; -- (void) setOffset: (int) o; - -// Set Pixel Data from a NSImage -- (long) setPixelNSImage: (NSImage*) iimage; - -// Write the image data -- (NSString*) writeDCMFile: (NSString*) dstPath; -- (NSString*) writeDCMFile: (NSString*) dstPath withExportDCM:(DCMExportPlugin*) dcmExport; -- (void) setModalityAsSource: (BOOL) v; -- (NSString*) seriesDescription; -- (void) setSeriesDescription: (NSString*) desc; -- (void) setSeriesNumber: (long) no; -- (void) setDefaultWWWL: (long) ww :(long) wl; -- (void) setPixelSpacing: (float) x :(float) y; -- (void) setSliceThickness: (double) t; -- (void) setOrientation: (float*) o; -- (void) setPosition: (float*) p; -- (void) setSlicePosition: (float) p; -- (NSString*) SOPInstanceUID; -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/MyPoint.h b/CMIV_CTA_TOOLS/OsiriX Headers/MyPoint.h deleted file mode 100644 index f71cdb3..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Wrapper for NSPoint */ - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/OSIWindowController.h b/CMIV_CTA_TOOLS/OsiriX Headers/OSIWindowController.h deleted file mode 100644 index 2d156e9..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/OSIWindowController.h +++ /dev/null @@ -1,66 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief base class for Window Controllers in OsiriX -* -*Root class for the Viewer Window Controllers such as ViewerController -*and Window3DController -*/ - -#import - - -enum OsiriXBlendingTypes {BlendingPlugin = -1, BlendingFusion = 1, BlendingSubtraction, BlendingMultiplication, BlendingRed, BlendingGreen, BlendingBlue, Blending2DRegistration, Blending3DRegistration, BlendingLL}; - -#ifdef id -#define redefineID -#undef id -#endif - -@interface OSIWindowController : NSWindowController -{ - int _blendingType; - - BOOL magneticWindowActivated; - BOOL windowIsMovedByTheUserO; - NSRect savedWindowsFrameO; -} - -+ (void) setDontEnterMagneticFunctions:(BOOL) a; -- (void) setMagnetic:(BOOL) a; - -- (NSMutableArray*) pixList; -- (void) addToUndoQueue:(NSString*) what; -- (int)blendingType; - -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; - -- (void) applyShading:(id) sender; -- (void) updateAutoAdjustPrinting: (id) sender; - -#pragma mark- -#pragma mark current Core Data Objects -- (NSManagedObject *)currentStudy; -- (NSManagedObject *)currentSeries; -- (NSManagedObject *)currentImage; - -- (float)curWW; -- (float)curWL; -@end - -#ifdef redefineID -#define id Id -#undef redefineID -#endif diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/OsiriXFixedPointVolumeRayCastMapper.h b/CMIV_CTA_TOOLS/OsiriX Headers/OsiriXFixedPointVolumeRayCastMapper.h deleted file mode 100755 index a0604a9..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/OsiriXFixedPointVolumeRayCastMapper.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef __OsiriXFixedPointVolumeRayCastMapper_h -#define __OsiriXFixedPointVolumeRayCastMapper_h - -#include "vtkFixedPointVolumeRayCastMapper.h" - -class VTK_VOLUMERENDERING_EXPORT OsiriXFixedPointVolumeRayCastMapper : public vtkFixedPointVolumeRayCastMapper -{ -public: - static OsiriXFixedPointVolumeRayCastMapper *New(); - void Render( vtkRenderer *, vtkVolume * ); - -protected: - OsiriXFixedPointVolumeRayCastMapper(); - -private: - OsiriXFixedPointVolumeRayCastMapper(const OsiriXFixedPointVolumeRayCastMapper&); // Not implemented. - void operator=(const OsiriXFixedPointVolumeRayCastMapper&); // Not implemented. -}; -#endif diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/PluginFilter.h b/CMIV_CTA_TOOLS/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 82ae3d5..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,77 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - - -/** \brief Base class for plugins */ -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -/** This function is called to apply your plugin */ -- (long) filterImage: (NSString*) menuName; - -/** This function is the entry point of Pre-Process plugins */ -- (long) processFiles: (NSMutableArray*) files; - -/** This function is the entry point of Report plugins -* action = @"dateReport" -> return NSDate date of creation or modification of the report, nil if no report available -* action = @"deleteReport" -> return nil, delete the report -* action = @"openReport" -> return nil, open and display the report, create a new one if no report available -*/ -- (id) report: (NSManagedObject*) study action:(NSString*) action; - - - -/** This function is called at the OsiriX startup, if you need to do some memory allocation, etc. */ -- (void) initPlugin; - -/** Opportunity for plugins to make Menu changes if necessary */ - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -/** Return the complete lists of opened studies in OsiriX */ -/** NSArray contains an array of ViewerController objects */ -- (NSArray*) viewerControllersList; - -/** Create a new 2D window, containing a copy of the current series */ -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. -/** Stub is to be subclassed by report filters */ -- (id)reportDateForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)deleteReportForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)createReportForStudy: (NSManagedObject*)study; - -/** PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY */ -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/QuicktimeExport.h b/CMIV_CTA_TOOLS/OsiriX Headers/QuicktimeExport.h deleted file mode 100644 index 703d14a..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/QuicktimeExport.h +++ /dev/null @@ -1,46 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - - -/** \brief QuickTime export */ -@interface QuicktimeExport : NSObject { - - id object; - SEL selector; - long numberOfFrames; - unsigned long codec; - long quality; - - NSSavePanel *panel; - NSArray *exportTypes; - - IBOutlet NSView *view; - IBOutlet NSPopUpButton *type; - IBOutlet NSSlider *rateSlider; - IBOutlet NSTextField *rateValue; -} - -+ (NSString*) generateQTVR:(NSString*) srcPath frames:(int) frames; -- (id) initWithSelector:(id) o :(SEL) s :(long) f; -- (NSString*) createMovieQTKit:(BOOL) openIt :(BOOL) produceFiles :(NSString*) name; -- (IBAction) setRate:(id) sender; -- (IBAction) changeExportType:(id) sender; -@end - diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/ROI.h b/CMIV_CTA_TOOLS/OsiriX Headers/ROI.h deleted file mode 100644 index 3863082..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/ROI.h +++ /dev/null @@ -1,394 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "MyPoint.h" - -#import - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -/** \brief Region of Interest -* -* Region of Interest on a 2D Image:\n -* Types\n -* tMesure = line\n -* tROI = Rectangle\n -* tOval = Oval\n -* tOPolygon = Open Polygon\n -* tCPolygon = Closed Polygon\n -* tAngle = Angle\n -* tText = Text\n -* tArrow = Arrow\n -* tPencil = Pencil\n -* t3Dpoint= 3D Point\n -* t2DPoint = 2D Point\n -* tPlain = Brush ROI\n -* tLayerROI = Layer Overlay\n -* tAxis = Axis\n -* tDynAngle = Dynamic Angle\n -*/ - -@interface ROI : NSObject -{ - NSLock *roiLock; - - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - - NSMutableArray *ctxArray; //All contexts where this texture is used - NSMutableArray *textArray; //All texture id - - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - double pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - int PointUnderMouse; - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256], line6[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5, *textualBoxLine6; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - double _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer, canResizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; - - BOOL locked; - BOOL selectable; - BOOL isAliased; - int originalIndexForAlias; -} - -@property NSPoint imageOrigin; -@property(readonly) int textureWidth, textureHeight; -@property(readonly) int textureDownRightCornerX,textureDownRightCornerY, textureUpLeftCornerX, textureUpLeftCornerY; -@property(readonly) unsigned char *textureBuffer; -@property float opacity; -@property int originalIndexForAlias; -@property BOOL locked, selectable, isAliased; -@property(retain) NSString *name, *comments; -@property(readonly) long type; -@property(setter=setROIMode:) long ROImode; -@property(retain) NSMutableArray *points; // Return/set the points state of the ROI -@property(readonly) NSMutableArray *zPositions; -@property(readonly) BOOL clickInTextBox; -@property(setter=setROIRect:) NSRect rect; // To create a Rectangular ROI (tROI) or an Oval ROI (tOval) or a 2DPoint -@property(retain) DCMPix *pix; // The DCMPix associated to this ROI -@property(readonly) DCMView *curView; // The DCMView associated to this ROI -@property float mousePosMeasure; -@property(readonly) NSData *data; -@property(setter=setColor:) RGBColor rgbcolor; -@property float thickness; -@property(retain) ROI *parentROI; -@property double sliceThickness, pixelSpacingX, pixelSpacingY; - -- (void) setColor:(RGBColor) a globally: (BOOL) g; -- (void) setThickness:(float) a globally: (BOOL) g; -- (void) setOpacity:(float)newOpacity globally: (BOOL) g; - -/** Set default ROI name (if not set, then default name is the currentTool) */ -+ (void) setDefaultName:(NSString*) n; -/** Return the default name */ -+ (NSString*) defaultName; -+ (void) setFontHeight: (float) f; - -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -+ (BOOL) splineForROI; - -/** Load User Defaults */ -+(void) loadDefaultSettings; - -/** Save User Defaults */ -+(void) saveDefaultSettings; - -/** Create a new ROI, needs the current pixel resolution and image origin -* @param itype ROI Type -* @param ipixelSpacing Assumes pixel size is same in both x and y -* @param iimageOrigin Origin on image -*/ -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; - -/** Create a new ROI, needs the current pixel resolution x and y and image origin* @param itype ROI Type -* @param ipixelSpacingx Pixel width -* @param ipixelSpacingy Pixel height -* @param iimageOrigin Origin on image -*/ -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -/** arg: specific methods for tPlain roi -* @param tBuff Pointer to the texture buffer -* @param tWidth Texture width -* @param tHeight Texture height -* @param tName ROI Name -* @param posX Origin.x of texture upper left corner -* @param posY Origin.y of texture upper left corner -* @param ipixelSpacingx Pixel width -* @param ipixelSpacingy Pixel height -* @param iimageOrigin Origin on image -*/ -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - - -/** Set offset for text box */ -- (void) setTextBoxOffset:(NSPoint) o; - - -/** Prints info about texture to output */ -- (void)displayTexture; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -/** Compute the roiArea in cm2 */ -- (float) roiArea; - -/** Compute the geometric centroid in pixel space */ -- (NSPoint) centroid; - -/** Compute the length for tMeasure ROI in cm */ -- (float) MesureLength: (float*) pixels; - -/** Compute the length for between two points in cm */ -- (float) Length:(NSPoint) mesureA :(NSPoint) mesureB; -- (float) LengthFrom:(NSPoint) mesureA to:(NSPoint) mesureB inPixel: (BOOL) inPixel; - -/** Compute an angle between 2 lines */ -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -- (float*) dataValuesAsFloatPointer :(long*) no; -- (NSMutableArray*) dataValues; - -/** Find a point between two points -* @param a First point -* @param b Second point -* @param r Weighting bewtween the two points -*/ -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; - - -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - - -/** Update ROI on mouse down. For most rois this will be the origin of the ROI */ -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; - -/** Update ROI on mouse down in the current image. For most rois this will be the origin of the ROI */ -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; - -/** Move the ROI */ -- (void) roiMove:(NSPoint) offset; - -/** Move the ROI */ -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; - -/** Modify roi as mouse is dragged */ -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; - -/** Moedify roi on mouse up */ -- (BOOL) mouseRoiUp:(NSPoint) pt; - -/** Returns YES if roi is valid */ -- (BOOL) valid; - -/** Draw the ROI */ -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (void) drawROIWithScaleValue:(float)scaleValue offsetX:(float)offsetx offsetY:(float)offsety pixelSpacingX:(float)spacingX pixelSpacingY:(float)spacingY highlightIfSelected:(BOOL)highlightIfSelected thickness:(float)thick prepareTextualData:(BOOL) prepareTextualData; - -/** Always returns NO */ -- (BOOL) needQuartz; - -/** Delete the current selected point */ -- (BOOL) deleteSelectedPoint; - -/** The info displayed in the text box */ -- (NSMutableDictionary*) dataString; - -/** Set the font */ -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; - -/** Returns an OpenGL string */ -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; - -/** Recompute */ -- (void) recompute; - -/** Rotate the ROI */ -- (void) rotate: (float) angle :(NSPoint) center; - -/** Test to see if ROI can be resized */ -- (BOOL)canResize; - -/** Resize ROI */ -- (void) resize: (float) factor :(NSPoint) center; - -/** Test to see if texture can be reduced */ -- (BOOL) reduceTextureIfPossible; - -/** Merge two brush ROI together */ -- (void) mergeWithTexture: (ROI*) r; - -/** Add a margin to the buffer */ -- (void) addMarginToBuffer: (int) margin; - -/** Draw text box for ROI */ -- (void) drawTextualData; - - -/** Test to see if point is in text box or ROI and returns the mode. -* Can be ROI_Selected or ROI_selectedModify if hit test is YES -*/ -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; - -/** Delete texture */ -- (void) deleteTexture:(NSOpenGLContext*) c; - - -/** Set cab resize layer */ -- (void) setCanResizeLayer:(BOOL)boo; -// Calcium Scoring -/** Cofactor for Calcium Score -* Cofactor values used by Agaston. -* Using a threshold of 90 rather than 130. Assuming -* multislice CT rather than electron beam. -* We could have a flag for Electron beam rather than multichannel CT -* and use 130 as a cutoff -* Based on Hounsfield density of Calcium -*/ -- (int)calciumScoreCofactor; -/** Calcium score -* roi Area * cofactor; area is is mm2. -*plainArea is number of pixels -*/ -- (float)calciumScore; - -/** Calcium volume -* area * thickness -*/ -- (float)calciumVolume; - -/** Calcium mass -* Volume * mean CT Density / 250 - */ -- (float)calciumMass; - -@property BOOL displayCalciumScoring; -@property int calciumThreshold; - -@property(retain) NSString *layerReferenceFilePath; -@property(retain) NSImage *layerImage; -@property float layerPixelSpacingX, layerPixelSpacingY; - -- (GLuint)loadLayerImageTexture; -- (void)generateEncodedLayerImage; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; -- (void) displayPointUnderMouse:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale; - -@property(retain) NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5, *textualBoxLine6; -@property NSTimeInterval groupID; - - -/** Lower right point of ROI */ -- (NSPoint) lowerRightPoint; - -@property BOOL isLayerOpacityConstant; -@property BOOL canColorizeLayer; -@property BOOL displayTextualData; -@property(readonly) NSPoint clickPoint; - --(NSMutableArray*)splinePoints; --(NSMutableArray*)splinePoints:(float) scale; --(NSMutableArray*)splineZPositions; - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/SRAnnotation.h b/CMIV_CTA_TOOLS/OsiriX Headers/SRAnnotation.h deleted file mode 100644 index f7a1a0b..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/SRAnnotation.h +++ /dev/null @@ -1,69 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -#ifdef __cplusplus -#include "dsrdoc.h" -#else -typedef char DSRDocument; -#endif - -#import "ROI.h" - -@interface SRAnnotation : NSObject -{ - DSRDocument *document; - id image; - BOOL _newSR; - NSString *_seriesInstanceUID, *_DICOMSRDescription, *_DICOMSeriesNumber, *_reportURL; - NSData *_dataEncapsulated; - NSDate *_contentDate; -} - -/** Extracts ROI as NSData from a DICOM SR - * @param path File path - */ -+ (NSData *) roiFromDICOM:(NSString *)path; - -/** Creates a DICOM SR from an array of ROIs - * @param rois Array of ROI to archive - * @param path Path to file - * @param image the image related to the ROI array - */ -+ (NSString*) archiveROIsAsDICOM:(NSArray *)rois toPath:(NSString *)path forImage:(id)image; - - -+ (NSString*) getImageRefSOPInstanceUID:(NSString*) path; -+ (NSString*) getReportFilenameFromSR:(NSString*) path; - -- (id) initWithROIs:(NSArray *)ROIs path:(NSString *)path forImage:(NSManagedObject*) im; -- (id) initWithContentsOfFile:(NSString *)path; -- (id) initWithDictionary:(NSDictionary *) dict path:(NSString *) path forImage: (NSManagedObject*) im; -- (id) initWithFileReport:(NSString *) file path:(NSString *) path forImage: (NSManagedObject*) im contentDate: (NSDate*) d; -- (id) initWithURLReport:(NSString *) s path:(NSString *) path forImage: (NSManagedObject*) im; -- (void) addROIs:(NSArray *)someROIs; -- (NSArray *) ROIs; -- (BOOL) writeToFileAtPath:(NSString *)path; -- (NSString *) seriesInstanceUID; -- (void) setSeriesInstanceUID: (NSString *)seriesInstanceUID; -- (NSString *) sopInstanceUID; -- (NSString *) sopClassUID; -- (NSString *) seriesDescription; -- (NSString *) seriesNumber; -- (NSData*) dataEncapsulated; -- (NSString*) reportURL; -- (NSDictionary*) annotations; -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/Schedulable.h b/CMIV_CTA_TOOLS/OsiriX Headers/Schedulable.h deleted file mode 100644 index 6a05f3e..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/Schedulable.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Protocol for multithreading scheduling*/ -@protocol Schedulable --(void)performWorkUnits:(NSSet *)workUnits forScheduler:(Scheduler *)scheduler; -@end \ No newline at end of file diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/Scheduler.h b/CMIV_CTA_TOOLS/OsiriX Headers/Scheduler.h deleted file mode 100644 index 979b8d4..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/Scheduler.h +++ /dev/null @@ -1,78 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@protocol Schedulable; - -#ifdef id -#define redefineID -#undef id -#endif - -/** \brief Does multithreading scheduling*/ -@interface Scheduler : NSObject { - @private - id _delegate; // Delegate - NSObject *_schedulableObject; // Object which has work units to be scheduled - NSMutableSet *_workUnitsRemaining; // Work units not yet performed in schedule - NSLock *_remainingUnitsLock; // Lock to keep the remaining work units set consistent - BOOL _scheduleWasCancelled; // Flag set when schedule is cancelled - unsigned _numberOfThreads; // Number of simultaneous threads used to perform work - unsigned _numberOfDetachedThreads; // The current number of worker threads detached. -} - --(id)initForSchedulableObject:(NSObject *)schedObj andNumberOfThreads:(unsigned)numThreads; --(id)initForSchedulableObject:(NSObject *)schedObj; --(void)dealloc; - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(void)cancelSchedule; - -// Template method. Overload in subclasses --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -// Accessors --(unsigned)numberOfThreads; --(unsigned) numberOfDetachedThreads; - --(id)delegate; --(void)setDelegate:(id)delegate; - --(id )schedulableObject; - --(NSMutableSet *)_workUnitsRemaining; - -@end - -@interface Scheduler (SchedulerDelegateMethods) - -// Sent in the main thread --(void)schedulerWillBeginSchedule:(Scheduler *)sender; - -// The following are sent in the worker thread --(BOOL)scheduler:(Scheduler *)scheduler shouldBeginUnits:(NSSet *)units; --(void)scheduler:(Scheduler *)scheduler didCompleteUnits:(NSSet *)units; - -// Sent in the main thread --(void)schedulerDidCancelSchedule:(Scheduler *)scheduler; --(void)schedulerDidFinishSchedule:(Scheduler *)scheduler; - -@end - -#ifdef redefineID -#define id Id -#undef redefineID -#endif \ No newline at end of file diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/StaticScheduler.h b/CMIV_CTA_TOOLS/OsiriX Headers/StaticScheduler.h deleted file mode 100644 index b6724cd..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/StaticScheduler.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Static multithreaded Scheduler */ -@interface StaticScheduler : Scheduler { - @private - int _numberOfThreadsLeft; // Used to keep track of how many threads already have work -} - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -@end \ No newline at end of file diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/VRView.h b/CMIV_CTA_TOOLS/OsiriX Headers/VRView.h deleted file mode 100644 index 025d86c..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/VRView.h +++ /dev/null @@ -1,563 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "DCMPix.h" - -#ifdef __cplusplus -#import "VTKView.h" - -#define id Id -#include "vtkCommand.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" - -#include "vtkPlane.h" -#include "vtkPlanes.h" -#include "vtkPlaneSource.h" -#include "vtkBoxWidget.h" -#include "vtkPiecewiseFunction.h" -#include "vtkPiecewiseFunction.h" -#include "vtkColorTransferFunction.h" -#include "vtkVolumeProperty.h" -#include "vtkVolumeRayCastCompositeFunction.h" -#include "vtkVolumeRayCastMapper.h" -#include "vtkVolumeRayCastMIPFunction.h" -#include "vtkFixedPointVolumeRayCastMapper.h" -#include "vtkTransform.h" -#include "vtkSphere.h" -#include "vtkImplicitBoolean.h" -#include "vtkExtractGeometry.h" -#include "vtkDataSetMapper.h" -#include "vtkPicker.h" -#include "vtkCellPicker.h" -#include "vtkPointPicker.h" -#include "vtkLineSource.h" -#include "vtkPolyDataMapper2D.h" -#include "vtkActor2D.h" -#include "vtkExtractPolyDataGeometry.h" -#include "vtkProbeFilter.h" -#include "vtkCutter.h" -#include "vtkTransformPolyDataFilter.h" -#include "vtkXYPlotActor.h" -#include "vtkClipPolyData.h" -#include "vtkBox.h" -#include "vtkCallbackCommand.h" -#include "vtkTextActor.h" -#include "vtkTextProperty.h" -#include "vtkImageFlip.h" -#include "vtkAnnotatedCubeActor.h" -#include "vtkOrientationMarkerWidget.h" -#include "vtkVolumeTextureMapper2D.h" -#include "vtkVolumeTextureMapper3D.h" -#include "OsiriXFixedPointVolumeRayCastMapper.h" - -#include "vtkCellArray.h" -#include "vtkProperty2D.h" - -#undef id - -class vtkMyCallbackVR; - -#else - -typedef char* vtkTransform; -typedef char* vtkImageActor; -typedef char* vtkImageMapToColors; -typedef char* vtkLookupTable; -typedef char* vtkImageReslice; -typedef char* vtkImageImport; -typedef char* vtkCamera; -typedef char* vtkActor; -typedef char* vtkPolyDataMapper; -typedef char* vtkOutlineFilter; -typedef char* vtkLineWidget; - -typedef char* vtkTextActor; -typedef char* vtkVolumeRayCastMapper; -typedef char* vtkFixedPointVolumeRayCastMapper; -typedef char* OsiriXFixedPointVolumeRayCastMapper; -typedef char* vtkVolumeRayCastMIPFunction; -typedef char* vtkVolume; - - -typedef char* vtkPiecewiseFunction; -typedef char* vtkVolumeTextureMapper2D; -typedef char* vtkPolyData; -typedef char* vtkVolumeProperty; -typedef char* vtkPolyDataMapper2D; - -typedef char* vtkColorTransferFunction; -typedef char* vtkActor2D; -typedef char* vtkMyCallback; -typedef char* vtkBoxWidget; -typedef char* vtkVolumeRayCastCompositeFunction; - -typedef char* vtkRenderer; -typedef char* vtkVolumeTextureMapper3D; -typedef char* vtkOrientationMarkerWidget; - -typedef char* vtkMyCallbackVR; -#endif - -#include -#import "ViewerController.h" -#import "WaitRendering.h" - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" - -@class DICOMExport; -@class Camera; -@class VRController; -@class OSIVoxel; -@class CLUTOpacityView; -//#import "CLUTOpacityView.h" - -/** \brief Volume Rendering View -* -* View for volume rendering and MIP -*/ - -#ifdef __cplusplus -@interface VRView : VTKView -#else -@interface VRView : NSView -#endif -{ - NSTimer *autoRotate, *startAutoRotate; - BOOL rotate, flyto; - int incFlyTo; - - float flyToDestination[ 3]; - - int projectionMode; - NSMutableArray *blendingPixList; - DCMPix *blendingFirstObject; - float *blendingData, blendingFactor; - ViewerController *blendingController; - char *blendingData8; - vImage_Buffer blendingSrcf, blendingDst8; - float blendingWl, blendingWw, measureLength; - vtkImageImport *blendingReader; - - OsiriXFixedPointVolumeRayCastMapper *blendingVolumeMapper; - vtkVolumeTextureMapper3D *blendingTextureMapper; - - vtkVolume *blendingVolume; - vtkVolumeProperty *blendingVolumeProperty; - vtkColorTransferFunction *blendingColorTransferFunction; - vtkVolumeRayCastCompositeFunction *blendingCompositeFunction; - vtkPiecewiseFunction *blendingOpacityTransferFunction; - double blendingtable[256][3]; - - BOOL needToFlip, blendingNeedToFlip, firstTime; - - IBOutlet NSWindow *export3DWindow; - IBOutlet NSSlider *framesSlider; - IBOutlet NSMatrix *quality, *rotation, *orientation; - IBOutlet NSTextField *pixelInformation; - - IBOutlet NSWindow *exportDCMWindow; - IBOutlet NSSlider *dcmframesSlider; - IBOutlet NSMatrix *dcmExportMode, *dcmquality, *dcmrotation, *dcmorientation; - IBOutlet NSBox *dcmBox; - IBOutlet NSMatrix *dcmExportDepth; - IBOutlet NSTextField *dcmSeriesName; - NSString *dcmSeriesString; - - IBOutlet NSWindow *export3DVRWindow; - IBOutlet NSMatrix *VRFrames; - IBOutlet NSMatrix *VRquality; - - IBOutlet NSMatrix *scissorStateMatrix; - IBOutlet NSColorWell *backgroundColor; - - IBOutlet NSObjectController *shadingController; - - long numberOfFrames; - BOOL bestRenderingMode; - float rotationValue, factor; - long rotationOrientation, renderingMode; - - NSArray *currentOpacityArray; - NSMutableArray *pixList; - DCMPix *firstObject; - float *data; - - float valueFactor, blendingValueFactor; - float OFFSET16, blendingOFFSET16; - - unsigned char *dataFRGB; - char *data8; - vImage_Buffer srcf, dst8; - - short currentTool; - float wl, ww; - float LOD, lowResLODFactor; - float cosines[ 9]; - float blendingcosines[ 9]; - double table[256][3]; - double alpha[ 256]; - - NSCursor *cursor; - BOOL cursorSet; - - vtkRenderer *aRenderer; - vtkCamera *aCamera; - - vtkActor *outlineRect; - vtkPolyDataMapper *mapOutline; - vtkOutlineFilter *outlineData; - - vtkMyCallbackVR *cropcallback; - vtkOrientationMarkerWidget *orientationWidget; - vtkBoxWidget *croppingBox; - double initialCroppingBoxBounds[6]; - // MAPPERS - - OsiriXFixedPointVolumeRayCastMapper *volumeMapper; - vtkVolumeTextureMapper3D *textureMapper; - - vtkVolume *volume; - vtkVolumeProperty *volumeProperty; - vtkColorTransferFunction *colorTransferFunction; - vtkTextActor *textWLWW, *textX; - BOOL isViewportResizable; - vtkTextActor *oText[ 4], oTextS[ 4]; - char WLWWString[ 200]; - vtkImageImport *reader; - vtkVolumeRayCastCompositeFunction *compositeFunction; - vtkPiecewiseFunction *opacityTransferFunction; - - vtkColorTransferFunction *red, *green, *blue; - BOOL noWaitDialog, isRGB, isBlendingRGB, ROIUPDATE; - WaitRendering *splash; - - double camPosition[ 3], camFocal[ 3]; - - NSMutableArray *ROIPoints; - - vtkPolyData *ROI3DData; - vtkPolyDataMapper2D *ROI3D; - vtkActor2D *ROI3DActor; - - vtkPolyData *Line2DData; - vtkPolyDataMapper2D *Line2D; - vtkActor2D *Line2DActor; - vtkTextActor *Line2DText; - - BOOL clamping; - - DICOMExport *exportDCM; - - NSMutableArray *point3DActorArray; - NSMutableArray *point3DPositionsArray; - NSMutableArray *point3DRadiusArray; - NSMutableArray *point3DColorsArray; - BOOL display3DPoints; - IBOutlet NSPanel *point3DInfoPanel; - IBOutlet NSSlider *point3DRadiusSlider; - IBOutlet NSColorWell *point3DColorWell; - IBOutlet NSButton *point3DPropagateToAll, *point3DSetDefault; - IBOutlet VRController *controller; - float point3DDefaultRadius, point3DDefaultColorRed, point3DDefaultColorGreen, point3DDefaultColorBlue, point3DDefaultColorAlpha; - - BOOL _dragInProgress; - NSTimer *_mouseDownTimer, *_rightMouseDownTimer; - NSImage *destinationImage; - - NSPoint _mouseLocStart, _previousLoc; // mouseDown start point - BOOL _resizeFrame; - short _tool; - - float _startWW, _startWL, _startMin, _startMax; - - NSRect savedViewSizeFrame; - - float firstPixel, secondPixel; - - NSLock *deleteRegion; - - IBOutlet CLUTOpacityView *clutOpacityView; - BOOL advancedCLUT; - NSData *appliedCurves; - BOOL appliedResolution; - BOOL gDataValuesChanged; - - float verticalAngleForVR; - float rotateDirectionForVR; - - BOOL _contextualMenuActive; - - //Context for rendering to iChat - BOOL _hasChanged; - float iChatWidth, iChatHeight; - BOOL iChatFrameIsSet; - - // 3DConnexion SpaceNavigator - NSTimer *snCloseEventTimer; - BOOL snStopped; - UInt16 snConnexionClientID; - - BOOL clipRangeActivated; - double clippingRangeThickness; - - BOOL bestRenderingWasGenerated; - float superSampling; - BOOL dontResetImage, keep3DRotateCentered; - int fullDepthMode; -} - -@property BOOL clipRangeActivated, keep3DRotateCentered, dontResetImage, bestRenderingMode; -@property int projectionMode; -@property double clippingRangeThickness; -@property float lowResLODFactor; -@property long renderingMode; -@property (readonly) NSArray* currentOpacityArray; -@property (retain) DICOMExport *exportDCM; -@property (retain) NSString *dcmSeriesString; - -+ (BOOL) getCroppingBox:(double*) a :(vtkVolume *) volume :(vtkBoxWidget*) croppingBox; -+ (void) setCroppingBox:(double*) a :(vtkVolume *) volume; -- (void) setBlendingCroppingBox:(double*) a; -- (void) setCroppingBox:(double*) a; -- (BOOL) croppingBox:(double*) a; -- (void) showCropCube:(id) sender; -- (void) restoreFullDepthCapture; -- (void) prepareFullDepthCapture; -- (float*) imageInFullDepthWidth: (long*) w height:(long*) h isRGB:(BOOL*) isRGB; -- (float*) imageInFullDepthWidth: (long*) w height:(long*) h isRGB:(BOOL*) rgb blendingView:(BOOL) blendingView; -- (NSDictionary*) exportDCMCurrentImage; -- (NSDictionary*) exportDCMCurrentImageIn16bit: (BOOL) fullDepth; -- (void) renderImageWithBestQuality: (BOOL) best waitDialog: (BOOL) wait; -- (void) renderImageWithBestQuality: (BOOL) best waitDialog: (BOOL) wait display: (BOOL) display; -- (void) endRenderImageWithBestQuality; -- (void) resetAutorotate:(id) sender; -- (void) setEngine: (long) engineID showWait:(BOOL) showWait; -- (IBAction)changeColorWith:(NSColor*) color; -- (IBAction)changeColor:(id)sender; -- (NSColor*)backgroundColor; -- (void) exportDICOMFile:(id) sender; --(unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; --(unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits offset:(int*) offset isSigned:(BOOL*) isSigned; --(void) set3DStateDictionary:(NSDictionary*) dict; --(NSMutableDictionary*) get3DStateDictionary; -- (void) setBlendingEngine: (long) engineID; -- (void) setBlendingEngine: (long) engineID showWait:(BOOL) showWait; -- (void) getShadingValues:(float*) ambient :(float*) diffuse :(float*) specular :(float*) specularpower; -- (void) setShadingValues:(float) ambient :(float) diffuse :(float) specular :(float) specularpower; --(void) movieChangeSource:(float*) volumeData; --(void) movieChangeSource:(float*) volumeData showWait :(BOOL) showWait; --(void) movieBlendingChangeSource:(long) index; --(void) setBlendingWLWW:(float) iwl :(float) iww; --(void) setBlendingCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void) setBlendingFactor:(float) a; -//-(NSDate*) startRenderingTime; -//-(void) newStartRenderingTime; -//-(void) deleteStartRenderingTime; --(void) setOpacity:(NSArray*) array; -- (void) setLowResolutionCamera: (Camera*) cam; -//-(void) runRendering; -//-(void) startRendering; -//-(void) stopRendering; -- (float) LOD; --(void) setLOD:(float)f; --(void) setCurrentTool:(short) i; -- (int) currentTool; -- (int) _tool; --(id)initWithFrame:(NSRect)frame; --(short)setPixSource:(NSMutableArray*)pix :(float*) volumeData; --(void)dealloc; -//Fly to point in world coordinates; -- (void) flyTo:(float) x :(float) y :(float) z; -// Fly to Volume Point -- (void) flyToVoxel:(OSIVoxel *)voxel; -//Fly to 2D position on a slice; -- (void) flyToPoint:(NSPoint)point slice:(int)slice; -- (void) processFlyTo; --(void) setWLWW:(float) wl :(float) ww; --(void) getWLWW:(float*) wl :(float*) ww; --(void) getBlendingWLWW:(float*) iwl :(float*) iww; --(void) setBlendingPixSource:(ViewerController*) bC; --(IBAction) endQuicktimeSettings:(id) sender; --(IBAction) endDCMExportSettings:(id) sender; --(IBAction) endQuicktimeVRSettings:(id) sender; --(IBAction) exportQuicktime :(id) sender; --(float) rotation; --(float) numberOfFrames; --(void) Azimuth:(float) z; --(void) Vertical:(float) z; --(NSImage*) nsimageQuicktime; --(NSImage*) nsimage:(BOOL) q; --(void) setCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void)activateShading:(BOOL)on; --(IBAction) switchShading:(id) sender; --(long) shading; -- (void) setEngine: (long) engineID; -- (void) setProjectionMode: (int) mode; -- (IBAction) resetImage:(id) sender; --(void) saView:(id) sender; -- (IBAction)setRenderMode:(id)sender; -- (void) setBlendingMode: (long) modeID; --(NSImage*) nsimageQuicktime:(BOOL) renderingMode; -- (vtkRenderer*) vtkRenderer; -- (vtkCamera*) vtkCamera; -- (void) setVtkCamera:(vtkCamera*)aVtkCamera; -- (void)setCenterlineCamera: (Camera *) cam; -- (void) setCamera: (Camera*) cam; -- (Camera*) camera; -- (Camera*) cameraWithThumbnail:(BOOL) produceThumbnail; -- (IBAction) scissorStateButtons:(id) sender; -- (void) updateScissorStateButtons; --(void) switchOrientationWidget:(id) sender; -- (void) computeOrientationText; -- (void) getOrientation: (float*) o; --(void) bestRendering:(id) sender; -- (void) setMode: (long) modeID; -- (long) mode; -- (double) getResolution; -- (void) getCosMatrix: (float *) cos; -- (void) getOrigin: (float *) origin; -- (void) getOrigin: (float *) origin windowCentered:(BOOL) wc; -- (void) getOrigin: (float *) origin windowCentered:(BOOL) wc sliceMiddle:(BOOL) sliceMiddle; -- (void) getOrigin: (float *) origin windowCentered:(BOOL) wc sliceMiddle:(BOOL) sliceMiddle blendedView:(BOOL) blendedView; -- (BOOL) isViewportResizable; -- (void) setViewportResizable: (BOOL) boo; -- (void) scrollInStack: (float) delta; - -// 3D Points -- (BOOL) get3DPixelUnder2DPositionX:(float) x Y:(float) y pixel: (long*) pix position:(float*) position value:(float*) val; -- (BOOL) get3DPixelUnder2DPositionX:(float) x Y:(float) y pixel: (long*) pix position:(float*) position value:(float*) val maxOpacity: (float) maxOpacity minValue: (float) minValue; - -- (void) add3DPoint: (double) x : (double) y : (double) z : (float) radius : (float) r : (float) g : (float) b; -- (void) add3DPoint: (double) x : (double) y : (double) z; -- (void) add3DPointActor: (vtkActor*) actor; -- (void) addRandomPoints: (int) n : (int) r; -- (void) throw3DPointOnSurface: (double) x : (double) y; -- (void) setDisplay3DPoints: (BOOL) on; -- (void) toggleDisplay3DPoints; -- (BOOL) isAny3DPointSelected; -- (unsigned int) selected3DPointIndex; -- (void) unselectAllActors; -- (void) remove3DPointAtIndex: (unsigned int) index; -- (void) removeSelected3DPoint; -- (IBAction) IBSetSelected3DPointColor: (id) sender; -- (IBAction) IBSetSelected3DPointRadius: (id) sender; -- (IBAction) IBPropagate3DPointsSettings: (id) sender; -- (void) setSelected3DPointColor: (NSColor*) color; -- (void) setAll3DPointsColor: (NSColor*) color; -- (void) set3DPointAtIndex:(unsigned int) index Color: (NSColor*) color; -- (void) setSelected3DPointRadius: (float) radius; -- (void) setAll3DPointsRadius: (float) radius; -- (void) set3DPointAtIndex:(unsigned int) index Radius: (float) radius; -- (IBAction) save3DPointsDefaultProperties: (id) sender; -- (void) load3DPointsDefaultProperties; -- (void) convert3Dto2Dpoint:(double*) pt3D :(double*) pt2D; -- (void)convert2DPoint:(float *)pt2D to3DPoint:(float *)pt3D; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) switchToSeriesRadio:(id) sender; -- (float) offset; -- (float) valueFactor; -- (void) setViewportResizable: (BOOL) boo; -- (void) squareView:(id) sender; -- (void) computeValueFactor; -- (void) setRotate: (BOOL) r; -- (float) factor; -- (float) imageSampleDistance; -- (float) blendingImageSampleDistance; -- (void) setViewSizeToMatrix3DExport; -- (void) restoreViewSizeAfterMatrix3DExport; -- (void) axView:(id) sender; -- (void) coView:(id) sender; -- (void) saViewOpposite:(id) sender; -- (void) render; -- (void) renderBlendedVolume; -- (void) goToCenter; -- (void)zoomMouseUp:(NSEvent *)theEvent; -- (void) setWindowCenter: (NSPoint) loc; -- (NSPoint) windowCenter; -- (double) getClippingRangeThicknessInMm; -- (void) setLODLow:(BOOL) l; - -// export -- (void) sendMail:(id) sender; -- (void) exportJPEG:(id) sender; -- (void) export2iPhoto:(id) sender; -- (void) exportTIFF:(id) sender; - -// cursors --(void) setCursorForView: (long) tool; - -//Dragging -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; - -//Menus -- (void)deleteRightMouseDownTimer; -- (void) showMenu:(NSTimer*)theTimer; - --(BOOL)actionForHotKey:(NSString *)hotKey; -- (void)setAdvancedCLUT:(NSMutableDictionary*)clut lowResolution:(BOOL)lowRes; -- (void)setAdvancedCLUTWithName:(NSString*)name; -- (BOOL)advancedCLUT; -- (VRController*)controller; -- (void)setController:(VRController*)aController; -- (BOOL)isRGB; - -- (OsiriXFixedPointVolumeRayCastMapper*)volumeMapper; -- (void)setVolumeMapper:(OsiriXFixedPointVolumeRayCastMapper*)aVolumeMapper; -- (vtkVolume*)volume; -- (void)setVolume:(vtkVolume*)aVolume; -- (char*)data8; -- (void)setData8:(char*)data; - -- (void)drawImage:(NSImage *)image inBounds:(NSRect)rect; -- (BOOL)checkHasChanged; -- (void)setIChatFrame:(BOOL)boo; -- (void)_iChatStateChanged:(NSNotification *)aNotification; - -- (void)yaw:(float)degrees; -- (void)panX:(double)x Y:(double)y; - -- (void)recordFlyThru; - -// 3DConnexion SpaceNavigator -- (void)connect2SpaceNavigator; -void VRSpaceNavigatorMessageHandler(io_connect_t connection, natural_t messageType, void *messageArgument); - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/VTKView.h b/CMIV_CTA_TOOLS/OsiriX Headers/VTKView.h deleted file mode 100644 index cb7441f..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/VTKView.h +++ /dev/null @@ -1,57 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#ifdef __cplusplus -#import "vtkCocoaGLView.h" -//#import "vtkCocoaWindow.h" -#define id Id -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkCocoaRenderWindowInteractor.h" -#include "vtkCocoaRenderWindow.h" -#undef id -#else -typedef char* vtkCocoaWindow; -typedef char* vtkRenderer; -typedef char* vtkRenderWindow; -typedef char* vtkRenderWindowInteractor; -typedef char* vtkCocoaRenderWindowInteractor; -typedef char* vtkCocoaRenderWindow; -#endif - - -/** \brief View for using VTK */ -@interface VTKView : vtkCocoaGLView -{ - vtkCocoaRenderWindow *_cocoaRenderWindow; - vtkRenderer *_renderer; - vtkCocoaRenderWindowInteractor *_interactor; -} - --(id)initWithFrame:(NSRect)frame; --(void)dealloc; - -// Access to VTK instances --(vtkRenderer *)renderer; --(vtkRenderWindow *)renderWindow; --(vtkCocoaRenderWindow *) cocoaWindow; --(void)removeAllActors; --(void) prepareForRelease; - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/ViewerController.h b/CMIV_CTA_TOOLS/OsiriX Headers/ViewerController.h deleted file mode 100644 index 12d1439..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,1040 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -//@class VRPROController; -@class ViewerController; -@class MPRController; - -@interface NSObject(OsiriXPluginDraggingDestination) -- (BOOL)performPluginDragOperation:(id )sender destination:(ViewerController*)vc; -@end - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -/** \brief Window Controller for 2D Viewer*/ - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - NSConditionLock *subLoadingThread; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - float highLighted; - int lastHighLightedRow; - NSTimer *highLightedTimer; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - BOOL subCtrlMinMaxComputed; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSSegmentedControl *blendingTypeRGB; - IBOutlet NSPopUpButton *blendingPlugins; - IBOutlet NSButton *blendingResample; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - IBOutlet NSButton *imageAllViewers; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *backCurCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage; - NSTimeInterval loadingPauseDelay; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies, titledGantry, updateTilingViews, stopViewFrameDidChangeNotification; - - volatile BOOL checkEverythingLoaded; - - float resampleRatio; - -// NSRect savedWindowsFrame; -// BOOL windowIsMovedByTheUser; - - ViewerController *registeredViewer; - ViewerController *blendedWindow; - - NSMutableArray *retainedToolbarItems; - - BOOL nonVolumicDataWarningDisplayed; - - IBOutlet NSView *display12bitToolbarItemView; - IBOutlet NSMatrix *display12bitToolbarItemMatrix; - NSTimer *t12BitTimer; -} - -@property(readonly) short currentOrientationTool; -@property(readonly) volatile float loadingPercentage; - -@property(readonly) NSTimer *timer; -@property(readonly) NSButton *keyImageCheck; - -/** Accessors for plugins using blending window */ -@property(readonly) NSWindow *blendingTypeWindow; -@property(readonly) NSButton *blendingTypeMultiply; -@property(readonly) NSButton *blendingTypeSubtract; -@property(readonly) NSSegmentedControl *blendingTypeRGB; -@property(readonly) NSPopUpButton *blendingPlugins; -@property(readonly) NSButton *blendingResample; - -/** Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object */ -@property(retain) ViewerController *blendedWindow; - -/** Array of all 2D Viewers */ -+ (NSMutableArray*) getDisplayed2DViewers; -+ (void) closeAllWindows; - -/** Create a new 2D Viewer -* @param pixList Array of DCMPix objects -* @param fileList Array of files for DCMPix objects -* @param volumeData NSData object containing the volume data -*/ -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData frame: (NSRect) frame; - -/** Create a new 2D Viewer -* @param pixList Array of DCMPix objects -* @param fileList Array of files for DCMPix objects -* @param volumeData NSData object containing the volume data -*/ -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; - -/** Notifcation to close Viewer */ -- (void) CloseViewerNotification: (NSNotification*) note; - -/** Change Series -* @param newPixList Array of DCMPix objects to used instead -* @param newDcmList Array of file strings -* @param newData NSData of new volume data -*/ -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -/** Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object */ -- (ViewerController*) blendedWindow; - -/** Display a Wait window with the message -* @param message The message for the Wait window to display */ -- (id) startWaitWindow :(NSString*) message; - - -/** Display a Wait window with the message progress length of max -* @param message The message for the Wait window to display -* @param max Progress bar max */ -- (id) startWaitProgressWindow :(NSString*) message :(long) max; - -/** Increment the Wait window progress bar -* @param waitWindow The Wait Window -* @param val Amount to increment the Wait window -*/ -- (void) waitIncrementBy:(id) waitWindow :(long) val; - - -/** End the wait window */ -- (void) endWaitWindow:(id) waitWindow; - -/** Refresh the current displayed image */ -- (void) needsDisplayUpdate; - -/** Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) */ -- (float*) volumePtr; -- (float*) volumePtr: (long) i; -- (NSData*)volumeData; -- (NSData*)volumeData:(long) i; - -/** Return the image pane object */ -- (DCMView*) imageView; -- (NSArray*) imageViews; - -/** Return the array of DCMPix objects */ -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -/** Return the array of DicomFile objects */ -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -/** Return the array of ROI objects */ -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; -- (void) setRoiList: (long) i array:(NSMutableArray*) a; - -/** Create a new MyPoint object */ -- (MyPoint*) newPoint: (float) x :(float) y; - -/** Create a new ROI object */ -- (ROI*) newROI: (long) type; - -/** Are the data volumic: same height same width same orientation */ -- (BOOL) isDataVolumicIn4D:(BOOL) check4D checkEverythingLoaded:(BOOL) c; -- (BOOL) isDataVolumicIn4D:(BOOL) check4D; -- (void) displayAWarningIfNonTrueVolumicData; - -/** ReSort the images displayed according to this group/element */ -- (BOOL) sortSeriesByDICOMGroup: (int) gr element: (int) el; - -/** Delete ALL ROI objects for current series */ -- (IBAction) roiDeleteAll:(id) sender; - -/** methods to access global variables */ -+ (int) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - - -/** Adds to undo queue -* @param string The type of undo -* This method calls - (id) prepareObjectForUndo:(NSString*) string get the undo object -*/ -- (void) addToUndoQueue:(NSString*) string; -- (void) removeLastItemFromUndoQueue; - -/** Prepare for Undo -* returns the undo object -* @param string The type of undo -*/ -- (id) prepareObjectForUndo:(NSString*) string; - -/** Redo -* Gets the last object in the redo queue -* and Redo action */ -- (IBAction) redo:(id) sender; - -/** Undo -** Gets the last object in the undo queue -* Undo action*/ -- (IBAction) undo:(id) sender; - -/** Get path for current image */ -- (void) updateRepresentedFileName; - -/** Stops or aborts any open modal window */ -- (IBAction) closeModal:(id) sender; - -/** Brings ROI to front of ROI array for current image. -* If roi is in a group, the whole group is brought to the front -* @param roi The ROI that should be up front -*/ -- (void)bringToFrontROI:(ROI*)roi; - -/** Change fusion status -* Called by an action. -*/ -- (void) activateFusion:(id) sender; - -/** Action to Propagte current settings */ -- (void) copySettingsToOthers: (id)sender; - -/** Set the postprocessed flag */ -- (void) setPostprocessed:(BOOL) v; -- (BOOL) isPostprocessed; - -/** returns postprocessed status */ -- (BOOL) postprocessed; - -/** Apply the opacity setting -* @param str The name of the opacity setting. Should be one of the menu item name from the opacity menu -*/ -- (void) ApplyOpacityString:(NSString*) str; - -/** Refreshed window width and window level */ -- (void) refresh; - -/** Action to sset up non DICOM printing */ -- (IBAction) setPagesToPrint:(id) sender; - -/** Action to start printing. Called when print window is ordered out */ -- (IBAction) endPrint:(id) sender; - -+ (int) getToolEquivalentToHotKey:(int) h; -+ (int) getHotKeyEquivalentToTool:(int) h; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (long) imageIndex; -- (void) viewerControllerInit; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (BOOL) updateTilingViewsValue; -- (void) setUpdateTilingViewsValue:(BOOL) v; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction) updateZVector:(id) sender; -- (void)displayDICOMOverlays: (id)sender; -- (IBAction)resampleDataBy2:(id)sender; -- (void) setStatusValue:(int) v; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor movieIndex:(int) j; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) roiLoadFromSeries: (NSString*) filename; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) mergeBrushROI: (id) sender; -- (IBAction) mergeBrushROI: (id) sender ROIs: (NSArray*) s ROIList: (NSMutableArray*) roiList; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -- (void) displayWarningIfGantryTitled; -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBAction)setKeyImage:(id)sender; -- (IBAction) roiSelectDeselectAll:(id) sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) loadSeries:(NSNumber*) t; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (id) initWithPix:(NSMutableArray*)f withFiles:(NSMutableArray*) d withVolume:(NSData*) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (NSToolbar*) toolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (float) highLighted; -- (void) setHighLighted: (float) b; -- (void) syncThumbnails; -- (void) checkBuiltMatrixPreview; - -/** Used to determine in the Window Controller is a 2D Viewer. -* Always return YES -*/ -- (BOOL) is2DViewer; - -/** String for the currently selected CLUT menu item */ -- (NSString*) curCLUTMenu; - -/** String for the currently selected WLWW mewnu item */ -- (NSString*) curWLWWMenu; - -/** String for the currently selected Opacity menu item */ -- (NSString*) curOpacityMenu; - - -/** Flag to indicate the the window will close */ -- (BOOL) windowWillClose; - - -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (void)blendingSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo; -- (void) computeContextualMenu; - -/** Modality of the study */ -- (NSString*) modality; -- (void) selectFirstTilingView; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (BOOL)isPlaying4D; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (float) computeIntervalFlipNow: (NSNumber*) flipNowNumber; -- (void) computeIntervalAsync; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; - -/** Action to open the OrthogonalMPRViewer */ -- (IBAction) orthogonalMPRViewer:(id) sender; - -/** Action to open the EndoscopyViewer */ -- (IBAction) endoscopyViewer:(id) sender; - -/** Action to open the CurvedMPRViewer */ -- (IBAction) CurvedMPR:(id) sender; - -- (void) showCurrentThumbnail:(id) sender; - -/** Action to open SRViewer (Surface Rendering) */ -- (IBAction) SRViewer:(id) sender; - -- (NSMenu *)contextualMenu; - -/** Action to export as JPEG */ -- (void) exportJPEG:(id) sender; - -/** Notification to close all windows */ -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (IBAction) saveWindowsState:(id) sender; -- (IBAction) loadWindowsState:(id) sender; -- (IBAction) resetWindowsState:(id) sender; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers mode:(NSString*) mode; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; - -- (NSArray*)roisWithName:(NSString*)name; -- (NSArray*)roisWithName:(NSString*)name in4D:(BOOL)in4D; -- (NSArray*)roisWithName:(NSString*)name forMovieIndex:(int)m; - -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteROI: (ROI*) roi; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow animate: (BOOL) animate; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (void) executeRevert; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- (void) clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; -- (ViewerController*) registeredViewer; -- (void) setRegisteredViewer: (ViewerController*) viewer; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; -- (void) refreshToolbar; -- (void) redrawToolbar; -- (void) reloadAnnotations; -- (NSScrollView*) previewMatrixScrollView; - -#pragma mark- -#pragma mark Brush ROI Filters - -/** Applies the selected Brush ROI morpho filter -* @param rois ROI array to filter -* @param action The filter to apply: Possible values are: open, close, erode, dilate -* @param radius structuringElementRadius for the filter -* @param sendNotification Will post an @"roiChange" notification if YES -*/ -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -/** Set the structuring radius for the brush ROI morpho filter */ -- (IBAction) setStructuringElementRadius: (id) sender; - - -/** Action to start filter for the selected brush ROI using the filter selected with -- (IBAction) morphoSelectedBrushROI: (id) sender -* Filters are: erode, dilate, open, close -*/ -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; - -/** Select filter for the selected brush ROI -* Filters are: erode, dilate, open, close -*/ -- (IBAction) morphoSelectedBrushROI: (id) sender; - - -/** Create a new ROI between two ROI -* Converts both ROIs into polygons, after a marching square isocontour -* @param a First ROI -* @param b Second ROI -* @param ratio Weighting used to morph between the two -*/ -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; - -/** Convert Polygon ROI to a Brush ROI. -* @param selectedROI The ROI to convert -*/ -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; - -/** Convert Brush ROI to a Polygon ROI. Returns converted ROI -* @param selectedROI The ROI to convert -* @param numPoints Number of points for the polygon -*/ -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -/** Returns an NSArray of all t2DPoint type ROI*/ -- (NSMutableArray*) point2DList; - - -/** Computes registration between the current Viewer and another ViewerController -* A HornRegistatration is first performed -* ITKTransform is used for the transform. -* At least three t2DPoint type ROI to compute -* Each point on the moving viewer needs a twin on the fixed viewer. -* Two points are twin brothers if and only if they have the same name. -*/ -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -/** Returns a new viewer with the current series resampled to match the Orientation of series in the other viewer -* Both series must be from the same study to insure matching imageOrientationPatient and imagePositionPatient -* @param movingViewer The ViewerController to resample the series to match -*/ -- (ViewerController*) resampleSeries:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects - -/** Creates a Key Object note for the current key Images */ -- (IBAction)createKeyObjectNote:(id)sender; - -/** End sheet method for creating key Object notes -* Called internally -*/ -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; - - -/** return flag indicating whether only the key images are being displayed */ -- (BOOL)displayOnlyKeyImages; - - -/** Returns whether the image at the index is a key image -* @param index of image to check -*/ -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView -/** Current ImageView window width */ --(float)curWW; - -/** Current ImageView window level */ --(float)curWL; - -/** Set window width and window level for current ImageView */ -- (void)setWL:(float)wl WW:(float)ww; - -/** Current ImageView horizontal flip */ -- (BOOL)xFlipped; - -/** Current ImageView vertical flip */ -- (BOOL)yFlipped; - -/** Current ImageView rotation */ -- (float)rotation; - -/** Set rotation for current ImageView */ -- (void)setRotation:(float)rotation; - -/** Set origin for current ImageView */ -- (void)setOrigin:(NSPoint) o; - -/** Current ImageView zoom */ -- (float)scaleValue; - -/** Set zoom for current ImageView */ -- (void)setScaleValue:(float)scaleValue; - -/** Set vertical flip for current ImageView */ -- (void)setYFlipped:(BOOL) v; - -/** Set horizontal flip for current ImageView */ -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -/** Returns the VRController for this ViewerController; creating one if necessary -* See VRController for modes - */ -- (VRController *)openVRViewerForMode:(NSString *)mode; - -/** Returns the VRPROController for this ViewerController; creating one if necessary -* See VRController for modes -*/ -//- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; - -/** Returns the OrthogonalMPRViewer for this ViewerController; creating one if necessary */ -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; - -/** Returns the OrthogonalMPRPETCTViewer for this ViewerController; creating one if necessary */ -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; - -/** Returns the EndoscopyViewer for this ViewerController; creating one if necessary */ -- (EndoscopyViewer *)openEndoscopyViewer; - -/** Returns the SRController for this ViewerController; creating one if necessary */ -- (SRController *)openSRViewer; - -/** Returns the MPRController for this ViewerController; creating one if necessary */ -- (MPRController *)openMPRViewer; -- (IBAction)mprViewer:(id)sender; - -/** Current SeriesView */ -- (SeriesView *) seriesView; - -/** Tiles the DCMView in the SeriesView of the current ViewerController -* This tiles images within a series. -* @param rows number of rows to tile -* @param columns number of columns -*/ -- (void)setImageRows:(int)rows columns:(int)columns; - -/** Tile the images within the active ViewerController -* Tiling based on tag of menu item -* 16 possible arrangements -* rows = (tag / 4) + 1; -* columns = (tag % 4) + 1; -* - (void)setImageRows:(int)rows columns:(int)columns then called -*/ -- (IBAction)setImageTiling: (id)sender; - -#pragma mark- -#pragma mark Calcium scoring -/** Deprecated -* Calcium Scoring moved to a plugin -*/ -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -/** Nonfunctional -* Centerline only works in Endoscopy Mode -*/ -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -/** Group selected ROI together */ -- (IBAction)groupSelectedROIs:(id)sender; -/** Ungroup ROI */ -- (IBAction)ungroupSelectedROIs:(id)sender; - -/** Lock selected ROI together */ -- (IBAction) lockSelectedROIs:(id)sender; -/** Unlock ROI */ -- (IBAction) unlockSelectedROIs:(id)sender; - -- (IBAction) makeSelectedROIsUnselectable:(id)sender; -- (IBAction) makeAllROIsSelectable:(id)sender; - -- (void) turnOffSyncSeriesBetweenStudies:(id) sender; -- (NSDictionary*) exportDICOMFileInt:(int)screenCapture withName:(NSString*)name; -- (NSDictionary*) exportDICOMFileInt:(int)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -#pragma mark- -#pragma mark 12 Bit -- (IBAction)enable12Bit:(id)sender; - -#pragma mark- -#pragma mark Navigator -- (IBAction)navigator:(id)sender; -- (void)updateNavigator; - -- (IBAction)threeDPanel:(id)sender; - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/WaitRendering.h b/CMIV_CTA_TOOLS/OsiriX Headers/WaitRendering.h deleted file mode 100644 index dc2f09c..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/WaitRendering.h +++ /dev/null @@ -1,49 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -/** \brief Window Controller for Wait rendering */ -@interface WaitRendering : NSWindowController -{ - IBOutlet NSProgressIndicator *progress; - IBOutlet NSButton *abort; - IBOutlet NSTextField *message, *currentTimeText, *lastTimeText; - - NSString *string; - NSTimeInterval lastDuration, lastTimeFrame; - NSDate *startTime; - - BOOL aborted; - volatile BOOL stop; - BOOL cancel; - NSModalSession session; - - id cancelDelegate; - - NSTimeInterval displayedTime; -} -- (id) init:(NSString*) s; -- (BOOL) run; -- (void) start; -- (void) end; -- (IBAction) abort:(id) sender; -- (void) setCancel :(BOOL) val; -- (BOOL) aborted; -- (void) setString:(NSString*) str; -- (void) setCancelDelegate:(id) object; -- (void) resetLastDuration; -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/browserController.h b/CMIV_CTA_TOOLS/OsiriX Headers/browserController.h deleted file mode 100644 index e6d1a86..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/browserController.h +++ /dev/null @@ -1,537 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class LogWindowController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; -@class StructuredReportController; -@class BrowserMatrix; -@class PluginManagerController; -@class WaitRendering; - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; -enum dbObjectSelection {oAny,oMiddle,oFirstForFirst}; - -/** \brief Window controller for Browser -* -* This is a large class with a lot of functions. -* Along with managing the Browser Window it manages all the view in the browser -* and manges the database -*/ - -@interface BrowserController : NSWindowController //NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - NSPersistentStoreCoordinator *persistentStoreCoordinator; - - NSDateFormatter *DateTimeFormat, *DateOfBirthFormat, *TimeFormat, *TimeWithSecondsFormat, *DateTimeWithSecondsFormat; - - NSRect visibleScreenRect[ 40]; - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *sendQueue; - NSMutableDictionary *bonjourReportFilesToCheck; - - NSMutableArray *previewPix, *previewPixThumbnails; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - LogWindowController *logWindowController; - - NSNumberFormatter *numFmt; - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer, *bonjourTimer, *deleteQueueTimer, *autoroutingQueueTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long previousBonjourIndex; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - - BOOL setDCMDone, mountedVolume, needDBRefresh, dontLoadSelectionSource; - - NSMutableArray *albumNoOfStudiesCache; - - volatile BOOL bonjourDownloading; - - NSArray *outlineViewArray, *originalOutlineViewArray; - NSArray *matrixViewArray; - - NSString *_searchString; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - NSMenu *columnsMenu; - IBOutlet BrowserMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - IBOutlet PreviewView *imageView; - - int subFrom, subTo, subInterval, subMax; - - IBOutlet NSWindow *subOpenWindow; - IBOutlet NSMatrix *subOpenMatrix3D, *subOpenMatrix4D, *supOpenButtons; - - IBOutlet NSWindow *subSeriesWindow; - IBOutlet NSButton *subSeriesOKButton; - IBOutlet NSTextField *memoryMessage; - IBOutlet NSBox *enoughMem, *notEnoughMem; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *rebuildWindow; - IBOutlet NSMatrix *rebuildType; - IBOutlet NSTextField *estimatedTime, *noOfFilesToRebuild, *warning; - - IBOutlet NSPopUpButton *timeIntervalPopup; - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSView *exportQuicktimeView; - IBOutlet NSButton *exportHTMLButton; - - IBOutlet NSView *exportAccessoryView; - IBOutlet NSButton *addDICOMDIRButton; - IBOutlet NSMatrix *compressionMatrix; - IBOutlet NSMatrix *folderTree; - - NSRecursiveLock *checkIncomingLock; - NSLock *checkBonjourUpToDateThreadLock; - NSTimeInterval lastSaved; - - BOOL showAllImages, DatabaseIsEdited, isNetworkLogsActive, displayEmptyDatabase; - NSConditionLock *queueLock; - - IBOutlet NSScrollView *thumbnailsScrollView; - - NSPredicate *_fetchPredicate; - NSPredicate *_filterPredicate; - NSString *_filterPredicateDescription; - - NSString *fixedDocumentsDirectory; - - char cfixedDocumentsDirectory[ 4096], cfixedIncomingDirectory[ 4096]; - - NSTimeInterval databaseLastModification; - - StructuredReportController *structuredReportController; - - NSMutableArray *deleteQueueArray; - NSLock *deleteQueue, *deleteInProgress; - - NSMutableArray *autoroutingQueueArray; - NSLock *autoroutingQueue, *autoroutingInProgress; - NSMutableDictionary *autoroutingPreviousStudies; - - NSConditionLock *processorsLock; - NSLock *decompressArrayLock, *decompressThreadRunning; - NSMutableArray *decompressArray; - - NSMutableString *pressedKeys; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - int reportToolbarItemType; - - NSConditionLock *newFilesConditionLock; - NSMutableArray *viewersListToReload, *viewersListToRebuild; - - NSImage *notFoundImage; - - volatile BOOL newFilesInIncoming; - NSImage *standardOsiriXIcon; - NSImage *downloadingOsiriXIcon; - NSImage *currentIcon; - - BOOL ROIsAndKeyImagesButtonAvailable; - - BOOL rtstructProgressBar; - float rtstructProgressPercent; - - BOOL avoidRecursive; - - IBOutlet PluginManagerController *pluginManagerController; - NSTimeInterval lastCheckIncoming; - - WaitRendering *waitOpeningWindow; - - BOOL checkForMountedFiles; -} - -@property(readonly) NSDateFormatter *DateTimeFormat; -@property(readonly) NSDateFormatter *DateOfBirthFormat; -@property(readonly) NSDateFormatter *TimeFormat; -@property(readonly) NSDateFormatter *TimeWithSecondsFormat; -@property(readonly) NSDateFormatter *DateTimeWithSecondsFormat; -@property(readonly) NSRecursiveLock *checkIncomingLock; - -@property(readonly) NSArray *matrixViewArray; -@property(readonly) NSMatrix *oMatrix; -@property(readonly) long COLUMN; -@property(readonly) BOOL is2DViewer; -@property(readonly) MyOutlineView *databaseOutline; -@property(readonly) NSTableView *albumTable; -@property(readonly) BOOL isCurrentDatabaseBonjour; -@property(readonly) NSString *currentDatabasePath; -@property(readonly) NSString *localDatabasePath; -@property(readonly) NSString *bonjourPassword; -@property(readonly) long currentBonjourService; - -@property volatile BOOL bonjourDownloading; -@property(readonly) NSBox *bonjourSourcesBox; -@property(readonly) NSTextField *bonjourServiceName; -@property(readonly) NSTextField *bonjourPasswordTextField; -@property(readonly) NSButton *bonjourSharingCheck; -@property(readonly) NSButton *bonjourPasswordCheck; -@property(readonly) BonjourBrowser *bonjourBrowser; - -@property(readonly) NSString *documentsDirectory; -@property(readonly) NSString *fixedDocumentsDirectory; -@property(readonly) char *cfixedDocumentsDirectory, *cfixedIncomingDirectory; - -@property(retain) NSString *searchString; -@property(retain) NSPredicate *fetchPredicate; -@property(readonly) NSPredicate *filterPredicate; -@property(readonly) NSString *filterPredicateDescription; - -@property BOOL rtstructProgressBar; -@property float rtstructProgressPercent; - -@property(readonly) PluginManagerController *pluginManagerController; - -+ (BrowserController*) currentBrowser; -+ (void) replaceNotAdmitted:(NSMutableString*) name; -+ (NSArray*) statesArray; -+ (void) updateActivity; -+ (NSData*) produceJPEGThumbnail:(NSImage*) image; -- (IBAction) createDatabaseFolder:(id) sender; -- (void) openDatabasePath: (NSString*) path; -- (BOOL) shouldTerminate: (id) sender; -- (void) databaseOpenStudy: (NSManagedObject*) item; -- (IBAction) databaseDoublePressed:(id)sender; -- (void) setDBDate; -- (void) setDockIcon; -- (void) showEntireDatabase; -- (IBAction) querySelectedStudy:(id) sender; -- (NSPredicate*) smartAlbumPredicate:(NSManagedObject*) album; -- (NSPredicate*) smartAlbumPredicateString:(NSString*) string; -- (void) emptyDeleteQueueThread; -- (void) emptyDeleteQueue:(id) sender; -- (void) addFileToDeleteQueue:(NSString*) file; -- (NSString*) getNewFileDatabasePath: (NSString*) extension; -- (NSString*) getNewFileDatabasePath: (NSString*) extension dbFolder: (NSString*) dbFolder; -- (NSManagedObjectModel *) managedObjectModel; -- (NSManagedObjectContext *) managedObjectContext; -- (NSManagedObjectContext *) defaultManagerObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject; -- (NSArray*) imagesArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject onlyImages:(BOOL) onlyImages; -- (NSManagedObjectContext *) managedObjectContextLoadIfNecessary:(BOOL) loadIfNecessary; -- (void) setNetworkLogs; -- (BOOL) isNetworkLogsActive; -- (NSTimeInterval) databaseLastModification; -- (IBAction) matrixDoublePressed:(id)sender; -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand extendingSelection: (BOOL) extendingSelection; -- (IBAction) sendiDisk:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; -- (long) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput async: (BOOL) async; -- (NSMutableArray*)copyFilesIntoDatabaseIfNeeded: (NSMutableArray*)filesInput async: (BOOL)async COPYDATABASE: (BOOL) COPYDATABASE COPYDATABASEMODE:(int) COPYDATABASEMODE; --(ViewerController*) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (ViewerController*) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; --(void) exportQuicktimeInt:(NSArray*) dicomFiles2Export :(NSString*) path :(BOOL) html; -- (IBAction) delItem:(id) sender; -- (void) delObjects:(NSMutableArray*) objectsToDelete; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer tileWindows: (BOOL) tileWindows; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; -- (NSArray*) exportDICOMFileInt:(NSString*) location files:(NSMutableArray*) filesToExport objects:(NSMutableArray*) dicomFiles2Export; -- (void) processOpenViewerDICOMFromArray:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer: (ViewerController*) viewer; -- (void) setDatabaseValue:(id) object item:(id) item forKey:(NSString*) key; -- (void) setupToolbar; -- (void) addAlbumsFile: (NSString*) file; -- (NSString*) getDatabaseFolderFor: (NSString*) path; -- (NSString*) getDatabaseIndexFileFor: (NSString*) path; -- (IBAction) copyToDBFolder: (id) sender; -- (void) setCurrentBonjourService:(int) index; -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; -- (IBAction) selectAll3DSeries:(id) sender; -- (IBAction) selectAll4DSeries:(id) sender; -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void)newViewerDICOM:(id) sender; -- (void) viewerDICOMKeyImages:(id) sender; -- (void) viewerDICOMMergeSelection:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (void) setDraggedItems:(NSArray*) pbItems; -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; -- (IBAction) saveDBListAs:(id) sender; -- (IBAction) openDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; -- (void) browserPrepareForClose; -- (IBAction) endReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabaseSheet: (id)sender; -- (void) previewSliderAction:(id) sender; -- (void) addHelpMenu; -+ (NSString*) _findFirstDicomdirOnCDMedia: (NSString*)startDirectory found:(BOOL) found; -+ (BOOL)isItCD:(NSString*) path; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; -- (void)setToolbarReportIconForItem: (NSToolbarItem *)item; -- (void)executeAutorouting: (NSArray *)newImages; -- (void) resetListenerTimer; -- (IBAction) smartAlbumHelpButton:(id) sender; -- (IBAction) regenerateAutoComments:(id) sender; -- (DCMPix *)previewPix:(int)i; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (NSArray*) addFilesAndFolderToDatabase:(NSArray*) filenames; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject context: (NSManagedObjectContext*) context dbFolder:(NSString*) dbFolder; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -//- (void)runSendQueue:(id)object; -//- (void)addToQueue:(NSArray *)array; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; -//- (void)reloadSendLog:(id)sender; -- (void) pdfPreview:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; -- (BOOL) checkBurner; - -- (NSArray*) KeyImages: (id) sender; -- (NSArray*) ROIImages: (id) sender; -- (NSArray*) ROIsAndKeyImages: (id) sender; -- (NSArray*) ROIsAndKeyImages: (id) sender sameSeries: (BOOL*) sameSeries; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; -- (void) refreshSmartAlbums; -- (void) refreshAlbums; -- (void) waitForRunningProcesses; -- (void) checkResponder; - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - -- (void) refreshDatabase:(id) sender; -- (void) syncReportsIfNecessary; -- (void) syncReportsIfNecessary: (int) index; -- (void) removeAllMounted; - -//bonjour -- (void) getDICOMROIFiles:(NSArray*) files; -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (void) setServiceName:(NSString*) title; -- (NSString*) serviceName; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) setBonjourSharingEnabled:(BOOL) boo; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) askPassword; -- (void) resetToLocalDatabase; -- (void) switchToDefaultDBIfNeeded; -- (void) createContextualMenu; -- (void) checkIncomingThread:(id) sender; -- (void) checkIncoming:(id) sender; -- (void) checkIncomingNow:(id) sender; -- (NSArray*) openSubSeries: (NSArray*) toOpenArray; -- (IBAction) checkMemory:(id) sender; -- (IBAction) buildAllThumbnails:(id) sender; -- (IBAction) mergeStudies:(id) sender; - -// Finding Comparisons -- (NSArray *)relatedStudiesForStudy:(id)study; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectoryFor:(int) mode url:(NSString*) url; -- (NSString *)setFixedDocumentsDirectory; -- (IBAction)showLogWindow: (id)sender; -- (void) resetLogWindowController; - -- (NSString *)folderPathResolvingAliasAndSymLink:(NSString *)path; - -- (void)setFilterPredicate:(NSPredicate *)predicate description:(NSString*) desc; -- (NSPredicate *)createFilterPredicate; -- (NSString *)createFilterDescription; - -- (IBAction) generateReport: (id) sender; -- (IBAction) deleteReport: (id) sender; -- (IBAction)srReports: (id)sender; - -- (IBAction) rebuildThumbnails:(id) sender; - -- (NSArray *)databaseSelection; - -- (void) importCommentsAndStatusFromDictionary:(NSDictionary*) d; -- (NSDictionary*) dictionaryWithCommentsAndStatus:(NSManagedObject *)s; -- (void) importReport:(NSString*) path UID: (NSString*) uid; - -- (void) newFilesGUIUpdateRun:(int) state; -- (void) newFilesGUIUpdateRun: (int) state viewersListToReload: (NSMutableArray*) cReload viewersListToRebuild: (NSMutableArray*) cRebuild; -- (void) newFilesGUIUpdate:(id) sender; - -- (IBAction) decompressSelectedFiles:(id) sender; -- (IBAction) compressSelectedFiles:(id) sender; -- (void) decompressArrayOfFiles: (NSArray*) array work:(NSNumber*) work; -- (void) decompressThread: (NSNumber*) typeOfWork; - --(void) compressDICOMJPEG:(NSString*) compressedPath; --(void) decompressDICOMJPEG:(NSString*) compressedPath; - -- (void) refreshMatrix:(id) sender; -- (void)updateReportToolbarIcon:(NSNotification *)note; - -- (void) initAnimationSlider; - -+ (NSString*) DateTimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) TimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) DateOfBirthFormat:(NSDate*) d; -+ (NSString*) DateTimeFormat:(NSDate*) d; -+ (NSString*) TimeFormat:(NSDate*) t; - -- (int) findObject:(NSString*) request table:(NSString*) table execute: (NSString*) execute elements:(NSString**) elements; - -- (void) executeSend :(NSArray*) samePatientArray server:(NSDictionary*) server dictionary:(NSDictionary*) dict; - -- (void)writeMovie:(NSArray*)imagesArray name:(NSString*)fileName; -- (void) buildThumbnail:(NSManagedObject*) series; - -/******Notifactions posted by browserController*********** -@"NewStudySelectedNotification" with userinfo key @"Selected Study" posted when a newStudy is selected in the browser -@"Close All Viewers" posted when close open windows if option key pressed. -@"DCMImageTilingHasChanged" when image tiling has changed -OsirixAddToDBNotification posted when files are added to the DB -*/ - -@end diff --git a/CMIV_CTA_TOOLS/OsiriX Headers/dicomFile.h b/CMIV_CTA_TOOLS/OsiriX Headers/dicomFile.h deleted file mode 100644 index 0d29f22..0000000 --- a/CMIV_CTA_TOOLS/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,122 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - -/** \brief Parses files for importing into the database */ - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; /**< Test for TIFF file format */ -+ (BOOL) isFVTiffFile:(NSString *) file; /**< Test for FV TIFF file format */ -+ (BOOL) isNIfTIFile:(NSString *) file; /**< Test for Nifti file format */ -+ (BOOL) isDICOMFile:(NSString *) file; /**< Test for DICOM file format */ -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; /**< Test for DICOM file format, returns YES for compressed BOOL if Transfer syntax is compressed. */ -+ (BOOL) isXMLDescriptedFile:(NSString *) file; /**< Test for XML descripted file format */ -+ (BOOL) isXMLDescriptorFile:(NSString *) file; /**< Test for XML descriptor file format. Fake DICOM for other files with XML descriptor*/ -+ (void) setFilesAreFromCDMedia: (BOOL) f; /**< Set flag for filesAreFromCDMedia */ -+ (void) setDefaults; /**< Set DEFAULTSSET flag to NO */ -+ (void) resetDefaults; /**< Resets to user defaults */ -/** Return string with invalid characters replaced -* replaces @"^" with @" " -* replaces @"/" with @"-" -* replaces @"\r" with @"" -* replaces @"\n" with @"" -* @":" withString:@"-" -* removes empty space at end of strings -*/ -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; /**< Same as NSreplaceBadCharacter, but using char* and encodings */ -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; /**< Convert char* str with NSStringEncoding* encoding to NSString */ -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; /**< Converts NIfTI to XML */ - - -- (long) NoOfFrames; /**< Number of frames in the file */ -- (long) getWidth; /**< Returns image width */ -- (long) getHeight; /**< Return image Height */ -- (long) NoOfSeries; /**< Returns number of seris in the file */ -- (id) init:(NSString*) f; /**< Init with file at location NSString* f */ -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; /**< init with file at location NSString* f DICOM files only if DICOMOnly = YES */ -- (id) initRandom; /**< Inits and returns an empty dicomFile */ -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; /**< Init with XMLDescriptor for information and f for image data */ -- (NSString*) patientUID; /**< Returns the patientUID */ - -/** Returns a dictionary of the elements used to import into the database -* Keys: -* @"studyComment", @"studyID", @"studyDescription", @"studyDate", @"modality", @"patientID", @"patientName", -* @"patientUID", @"fileType", @"commentsAutoFill", @"album", @"SOPClassUID", @"SOPUID", @"institutionName", -* @"referringPhysiciansName", @"performingPhysiciansName", @"accessionNumber", @"patientAge", @"patientBirthDate", -* @"patientSex", @"cardiacTime", @"protocolName", @"sliceLocation", @"imageID", @"seriesNumber", @"seriesDICOMUID", -* @"studyNumber", @"seriesID", @"hasDICOM" -* */ - -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; /**< Returns the dicomElement for the key */ -- (short)getPluginFile; /**< Looks for a plugin to decode the file. If one is found decodes the file */ -/** Parses the fileName to get the Series/Study/Image numbers -* Used for files that don't have the information embedded such as TIFFs and jpegs -* In these cases the files are sorted based on the file name. -* Numbers at the end become the image number. The remainder of the file becomes the Series and Study ID -*/ -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; /**< Decodes the file using the DCM Framework Returns -1 for failure 0 for success*/ - - --(short) getDicomFile; /**< Decode DICOM. Returns -1 for failure 0 for success */ --(short) getNIfTI; /**< Decode NIfTI Returns -1 for failure 0 for success */ - - -/** Returns the COMMENTSAUTOFILL default. -* If Yes, comments will be filled from the DICOM tag commentsGroup/commentsElement -*/ -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; /**< Returns the splitMultiEchoMR default If YES, splits multi echo series into separate series by Echo number. */ -- (BOOL)useSeriesDescription; /**< Returns the useSeriesDescription default. */ -- (BOOL)noLocalizer; /**< Returns the NOLOCALIZER default. */ -- (BOOL)combineProjectionSeries; /**< Returns the combineProjectionSeries default. If YES, combines are projection Modalities: CR, DR into one series. */ -- (BOOL)oneFileOnSeriesForUS; /**< Returns the oneFileOnSeriesForUS default */ -- (BOOL)combineProjectionSeriesMode; /**< Returns the combineProjectionSeriesMode default. */ -- (BOOL)checkForLAVIM; /**< Returns the CHECKFORLAVIM default. */ -- (BOOL)separateCardiac4D; /**< Returns the SEPARATECARDIAC4D default. If YES separates cardiac studies into separate gated series. */ -- (int)commentsGroup; /**< Returns the commentsGroup default. The DICOM group to get comments from. */ -- (int)commentsElement; /**< Returns the commentsGroup default. The DICOM element to get get comments from. */ -- (BOOL) containsString: (NSString*) s inArray: (NSArray*) a; -@end - - diff --git a/CardiacStatistics/OsiriX Headers.framework/Frameworks b/CardiacStatistics/OsiriX Headers.framework/Frameworks deleted file mode 120000 index 78816f6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Frameworks +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Frameworks \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Headers b/CardiacStatistics/OsiriX Headers.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/OsiriX Headers b/CardiacStatistics/OsiriX Headers.framework/OsiriX Headers deleted file mode 120000 index 537a6a9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/OsiriX Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/OsiriX Headers \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Resources b/CardiacStatistics/OsiriX Headers.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AdvancedQuerySubview.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AdvancedQuerySubview.h deleted file mode 100644 index 49ff04f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AdvancedQuerySubview.h +++ /dev/null @@ -1,47 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface AdvancedQuerySubview : NSView { - IBOutlet NSPopUpButton *filterKeyPopup; - IBOutlet NSPopUpButton *searchTypePopup; - IBOutlet NSTextField *valueField; - IBOutlet NSButton *addButton; - IBOutlet NSButton *removeButton; - IBOutlet NSPopUpButton *dateRangePopup; - IBOutlet NSPopUpButton *modalityPopup; - IBOutlet NSDatePicker *datePicker; - -} - -- (id) filterKeyPopup; -- (id) searchTypePopup; -- (id) valueField; -- (id) addButton; -- (id) removeButton; -- (id) dateRangePopup; -- (id) modalityPopup; -- (id) datePicker; - -- (IBAction) showSearchTypePopup: (id) sender; -- (IBAction) showValueField: (id) sender; -- (IBAction) showModalityPopup: (id) sender; - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AllKeyImagesArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AllKeyImagesArrayController.h deleted file mode 100644 index dc0664c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AllKeyImagesArrayController.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - - -/** \brief Array Controller for keyImages in a StructuredReport */ - -@interface AllKeyImagesArrayController : NSArrayController { - IBOutlet NSMatrix *keyImageMatrix; -} - -- (void)updateMatrix; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Analyze.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Analyze.h deleted file mode 100644 index 03f40bc..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Analyze.h +++ /dev/null @@ -1,92 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -/* ANALYZE Header File Format * * (c) Copyright, 1986-1995 * Biomedical Imaging Resource * Mayo Foundation * * dbh.h * * databse sub-definitions */ - -struct header_key /* header key */ -{ /* off + size */ -int sizeof_hdr; /* 0 + 4 */ -char data_type[10]; /* 4 + 10 */ -char db_name[18]; /* 14 + 18 */ -int extents; /* 32 + 4 */ -short int session_error; /* 36 + 2 */ - char regular; /* 38 + 1 */ - char hkey_un0; /* 39 + 1 */ } __attribute__((__packed__)); - /* total=40 bytes */ - - struct image_dimension { -/* off + size */ -short int dim[8]; /* 0 + 16 */ -short int unused8; /* 16 + 2 */ -short int unused9; /* 18 + 2 */ -short int unused10; /* 20 + 2 */ -short int unused11; /* 22 + 2 */ -short int unused12; /* 24 + 2 */ -short int unused13; /* 26 + 2 */ -short int unused14; /* 28 + 2 */ -short int datatype; /* 30 + 2 */ -short int bitpix; /* 32 + 2 */ -short int dim_un0; /* 34 + 2 */ -float pixdim[8]; /* 36 + 32 */ - /* pixdim[] specifies the voxel dimensitons: - pixdim[1] - voxel width pixdim[2] - voxel height - pixdim[3] - interslice distance ...etc */ -float vox_offset; /* 68 + 4 */ -float funused1; /* 72 + 4 */ -float funused2; /* 76 + 4 */ -float funused3; /* 80 + 4 */ -float cal_max; /* 84 + 4 */ -float cal_min; /* 88 + 4 */ -float compressed; /* 92 + 4 */ -float verified; /* 96 + 4 */ -int glmax,glmin; /* 100 + 8 */ -} __attribute__((__packed__)); /* total=108 bytes */ -struct data_history { -/* off + size */ -char descrip[80]; /* 0 + 80 */ -char aux_file[24]; /* 80 + 24 */ -char orient; /* 104 + 1 */ -char originator[10]; /* 105 + 10 */ -char generated[10]; /* 115 + 10 */ -char scannum[10]; /* 125 + 10 */ -char patient_id[10]; /* 135 + 10 */ -char exp_date[10]; /* 145 + 10 */ -char exp_time[10]; /* 155 + 10 */ -char hist_un0[3]; /* 165 + 3 */ -int views; /* 168 + 4 */ -int vols_added; /* 172 + 4 */ -int start_field; /* 176 + 4 */ -int field_skip; /* 180 + 4 */ -int omax, omin; /* 184 + 8 */ -int smax, smin; /* 192 + 8 */ -} __attribute__((__packed__)); - -struct dsr { -struct header_key hk; /* 0 + 40 */ -struct image_dimension dime; /* 40 + 108 */ -struct data_history hist; /* 148 + 200 */ } __attribute__((__packed__)); -/* total= 348 bytes */ /* Acceptable values for datatype */ - -#define DT_NONE 0 -#define DT_UNKNOWN 0 -#define DT_BINARY 1 -#define DT_UNSIGNED_CHAR 2 -#define DT_SIGNED_SHORT 4 -#define DT_SIGNED_INT 8 -#define DT_FLOAT 16 -#define DT_COMPLEX 32 -#define DT_DOUBLE 64 -#define DT_RGB 128 -#define DT_ALL 255 diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AnonymizerWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AnonymizerWindowController.h deleted file mode 100644 index 20b9ea8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AnonymizerWindowController.h +++ /dev/null @@ -1,53 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief Window Controller for anonymizing */ -@interface AnonymizerWindowController : NSWindowController -{ - IBOutlet NSMatrix *tagMatrixfirstColumn, *tagMatrixsecondColumn; - IBOutlet NSMatrix *firstColumnValues, *secondColumnValues; - IBOutlet NSView *accessoryView; - IBOutlet NSPopUpButton *templatesMenu; - IBOutlet NSButton *checkReplace; - - IBOutlet NSWindow *anonymizeWindow; - IBOutlet NSView *anonymizeView; - - IBOutlet NSWindow *templateNameWindow; - IBOutlet NSTextField *templateName; - - NSOpenPanel *sPanel; - NSMutableDictionary *templates; - NSArray *filesToAnonymize, *dcmObjects; - NSString *folderPath; - NSMutableArray *tags, *producedFiles; - - BOOL cancelled; -} - -- (IBAction) selectTemplateMenu:(id) sender; -- (IBAction) addTemplate:(id) sender; -- (IBAction) removeTemplate:(id) sender; -- (IBAction) anonymize:(id) sender; -- (IBAction) matrixAction:(id) sender; -- (void) setFilesToAnonymize:(NSArray *) files :(NSArray*) dcm; -- (NSArray*) tags; -- (NSArray*) producedFiles; -- (IBAction)cancelModal:(id)sender; -- (IBAction)okModal:(id)sender; -- (IBAction) anonymizeToThisPath:(NSString*) path; -- (BOOL) cancelled; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AppController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AppController.h deleted file mode 100644 index b877d05..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AppController.h +++ /dev/null @@ -1,229 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// This will be added to the main inded page of the Doxygen documentation -/** \mainpage OsiriX index page -* -* \section Intro OsiriX DICOM workstation -* Osirix is a free open source DICOM workstation with full 64 bit support. -* -* We extend out thanks to other in the open source community. -* -* VTK, ITK, and DCMTK open source projects are extensively used in OsiriX. -* -* The OsiriX team. -*/ - -#ifdef OSIRIX_VIEWER -#ifndef OSIRIX_LIGHT -#import -#endif -#endif - -#import -#import "XMLRPCMethods.h" - -@class ThreadPoolServer; -@class ThreadPerConnectionServer; - -#import "IChatTheatreDelegate.h" - -@class PreferenceController; -@class BrowserController; -@class SplashScreen; -@class DCMNetServiceDelegate; - -enum -{ - compression_sameAsDefault = 0, - compression_none = 1, - compression_JPEG = 2, - compression_JPEG2000 = 3 -}; - -enum -{ - always = 0, - cdOnly = 1, - notMainDrive = 2, - ask = 3 -}; - -@class PluginFilter; - -#ifdef __cplusplus -extern "C" -{ -#endif - NSRect screenFrame(); - NSString * documentsDirectoryFor( int mode, NSString *url); - NSString * documentsDirectory(); -#ifdef __cplusplus -} -#endif - - -/** \brief NSApplication delegate -* -* NSApplication delegate -* Primarily manages the user defaults and server -* Also controls some general main items -* -* -*/ - -#if defined(OSIRIX_VIEWER) && !defined(OSIRIX_LIGHT) -#else -@protocol GrowlApplicationBridgeDelegate -@end -#endif - -@interface AppController : NSObject -{ - IBOutlet BrowserController *browserController; - - IBOutlet NSMenu *filtersMenu; - IBOutlet NSMenu *roisMenu; - IBOutlet NSMenu *othersMenu; - IBOutlet NSMenu *dbMenu; - IBOutlet NSWindow *dbWindow; - IBOutlet NSMenu *windowsTilingMenuRows, *windowsTilingMenuColumns; - - NSDictionary *previousDefaults; - - BOOL showRestartNeeded; - - SplashScreen *splashController; - - volatile BOOL quitting; - BOOL verboseUpdateCheck; - NSTask *theTask; - NSNetService *BonjourDICOMService; - - BOOL xFlipped, yFlipped; // Dependent on current DCMView settings. - - NSTimer *updateTimer; - DCMNetServiceDelegate *dicomNetServiceDelegate; - XMLRPCMethods *XMLRPCServer; - ThreadPoolServer *webServer; - - BOOL checkAllWindowsAreVisibleIsOff; - - int lastColumns, lastRows; -} - -@property BOOL checkAllWindowsAreVisibleIsOff; -@property (readonly) NSMenu *filtersMenu, *windowsTilingMenuRows, *windowsTilingMenuColumns; - -#pragma mark- -#pragma mark initialization of the main event loop singleton - -+ (void) createNoIndexDirectoryIfNecessary:(NSString*) path; -+ (void) displayImportantNotice:(id) sender; -+ (AppController*) sharedAppController; /**< Return the shared AppController instance */ -+ (void)checkForPagesTemplate; /**< Check for Pages report template */ -+ (void) resizeWindowWithAnimation:(NSWindow*) window newSize: (NSRect) newWindowFrame; -+ (NSThread*) mainThread; -+ (void) pause; -+ (void) resetToolbars; - -#pragma mark- -#pragma mark HTML Templates -+ (void)checkForHTMLTemplates; - - -#pragma mark- -#pragma mark Server management -- (void) terminate :(id) sender; /**< Terminate listener (Q/R SCP) */ -- (void) restartSTORESCP; /**< Restart listener (Q/R SCP) */ -- (void) startSTORESCP:(id) sender; /**< Start listener (Q/R SCP) */ -- (void) startSTORESCPTLS:(id) sender; /**< Start TLS listener (Q/R SCP) */ -- (void) startDICOMBonjourSearch; /**< Use Bonjour to search for other DICOM services */ -- (void) installPlugins: (NSArray*) pluginsArray; - - -#pragma mark- -#pragma mark static menu items -//===============OSIRIX======================== -- (IBAction) about:(id)sender; /**< Display the about window */ -- (IBAction) showPreferencePanel:(id)sender; /**< Show Preferences window */ -- (IBAction) checkForUpdates:(id) sender; /**< Check for update */ -//===============WINDOW======================== -- (IBAction) setFixedTilingRows: (id) sender; -- (IBAction) setFixedTilingColumns: (id) sender; -- (void) initTilingWindows; -- (void) tileWindows:(id)sender; /**< Tile open window */ -- (void) scaleToFit:(id)sender; /**< Scale opened windows */ -- (IBAction) closeAllViewers: (id) sender; /**< Close All Viewers */ -- (void) checkAllWindowsAreVisible:(id) sender; -- (void) checkAllWindowsAreVisible:(id) sender makeKey: (BOOL) makeKey; -//===============HELP========================== -- (IBAction) sendEmail: (id) sender; /**< Send email to lead developer */ -- (IBAction) openOsirixWebPage: (id) sender; /**< Open OsiriX web page */ -- (IBAction) openOsirixDiscussion: (id) sender; /**< Open OsiriX discussion web page */ -- (IBAction) osirix64bit: (id) sender; -//--------------------------------------------- -- (IBAction) help: (id) sender; /**< Open help window */ -//============================================= - -- (IBAction) killAllStoreSCU:(id) sender; - -#pragma mark- -#pragma mark window routines -- (IBAction) updateViews:(id) sender; /**< Update Viewers */ -- (NSScreen *)dbScreen; /**< Return monitor with DB */ -- (NSArray *)viewerScreens; /**< Return array of monitors for displaying viewers */ - - /** - * Find the WindowController with the named nib and using the pixList - * This is commonly used to find the 3D Viewer associated with a ViewerController. - * Conversely this could be used to find the ViewerController that created a 3D Viewer - * Each 3D Viewer has its own distinctly named nib as does the ViewerController. - * The pixList is the Array of DCMPix that the viewer uses. It should uniquely identify related viewers -*/ -- (id) FindViewer:(NSString*) nib :(NSMutableArray*) pixList; -- (NSArray*) FindRelatedViewers:(NSMutableArray*) pixList; /**< Return an array of all WindowControllers using the pixList */ -- (IBAction) cancelModal: (id) sender; -- (IBAction) okModal: (id) sender; -- (NSString*) privateIP; -- (void) killDICOMListenerWait:(BOOL) w; -- (void) runPreferencesUpdateCheck:(NSTimer*) timer; -+ (void) checkForPreferencesUpdate: (BOOL) b; -+ (BOOL) USETOOLBARPANEL; -+ (void) setUSETOOLBARPANEL: (BOOL) b; - -#pragma mark- -#pragma mark growl -- (void) growlTitle:(NSString*) title description:(NSString*) description name:(NSString*) name; -- (NSDictionary *) registrationDictionaryForGrowl; - -//#pragma mark- -//#pragma mark display setters and getters -//- (IBAction) saveLayout: (id)sender; - -#pragma mark- -#pragma mark Geneva University Hospital (HUG) specific function -- (void) HUGVerifyComPACSPlugin; - -#pragma mark- -#pragma mark 12 Bit Display support. -+ (BOOL)canDisplay12Bit; -+ (void)setCanDisplay12Bit:(BOOL)boo; -+ (void)setLUT12toRGB:(unsigned char*)lut; -+ (unsigned char*)LUT12toRGB; -+ (void)set12BitInvocation:(NSInvocation*)invocation; -+ (NSInvocation*)fill12BitBufferInvocation; - -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AppControllerDCMTKCategory.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AppControllerDCMTKCategory.h deleted file mode 100644 index 4193b6a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/AppControllerDCMTKCategory.h +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "AppController.h" - - -/** \brief AppController category containing DCMTK call -* -* Certain C++ headers from DCMTK conflict with Objective C. -* Putting c++ calls in a category prevents build errors - */ - -@interface AppController (AppControllerDCMTKCategory) - -- (void)initDCMTK; /**< Global registration of DCMTK toolkit*/ -- (void)destroyDCMTK; /**< Degegister DCMTK*/ - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BLAuthentication.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BLAuthentication.h deleted file mode 100644 index dc322a8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BLAuthentication.h +++ /dev/null @@ -1,40 +0,0 @@ -// ====================================================================== // -// BLAuthentication.h // -// // -// Last Modified on Tuesday April 24 2001 // -// Copyright 2001 Ben Lachman // -// // -// Thanks to Brian R. Hill // -// ====================================================================== // - -#import -#import - -/** \brief authentication and authorization */ -@interface BLAuthentication : NSObject -{ - AuthorizationRef authorizationRef; -} -// returns a shared instance of the class -+ sharedInstance; -// checks if user is authentcated forCommands -- (BOOL)isAuthenticated:(NSArray *)forCommands; -// authenticates user forCommands -- (BOOL)authenticate:(NSArray *)forCommands; -// deauthenticates user -- (void)deauthenticate; -// gets the pid forProcess -- (int)getPID:(NSString *)forProcess; -// executes pathToCommand with privileges -- (BOOL)executeCommand:(NSString *)pathToCommand withArgs:(NSArray *)arguments; -// kills the process specified by commandFromPS -- (BOOL)killProcess:(NSString *)commandFromPS; -@end - -// strings for notification center -extern NSString* const BLAuthenticatedNotification; -extern NSString* const BLDeauthenticatedNotification; - - - - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BioradHeader.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BioradHeader.h deleted file mode 100644 index f8f966b..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BioradHeader.h +++ /dev/null @@ -1,218 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://homepage.mac.com/rossetantoine/osirix/copyright for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#define BIORAD_HEADER_LENGTH 76 -#define BIORAD_NOTE_LENGTH 96 -#define BIORAD_NOTE_TEXT_LENGTH 80 - -struct BioradHeader{ - short int nx,ny,npic; - int unused0; - int notesAvailable; - short int byte_format; - char unused1[38]; - short int magicNumber; - char unused2[20]; -} __attribute__((__packed__)); - -struct BioradNote -{ -// short displayLevel; -// int moreNotes; // 0 if this is the last note, else there is another note -// int unused; -// short noteType; - char unsused[16]; -/* Note type := 1 for live collection note, - := 2 for note including file name, - := 3 if note for multiplier file, - := 4, 5, etc.,; additional descriptive notes */ - char noteText[BIORAD_NOTE_TEXT_LENGTH]; -} __attribute__((__packed__)); - - -/* - Bio-Rad(TM) .PIC Image File Information - (taken from: "Introductory Edited Version 1.0", issue 1/12/93.) - (Location of Image Calibration Parameters in Comos 6.03 and MPL .PIC files) - - The general structure of Bio-Rad .PIC files is as follows: - - HEADER (76 bytes) - Image data (#1) - . - . - Image data (#npic) - NOTE (#1) - . ; NOTES are optional. - . - NOTE (#notes) - RGB LUT (color Look Up Table) - - - Header Information: - - The header of Bio-Rad .PIC files is fixed in size, and is 76 bytes. - - ------------------------------------------------------------------------------ - 'C' Definition byte size Information - (bytes) - ------------------------------------------------------------------------------ - int nx, ny; 0 2*2 image width and height in pixels - int npic; 4 2 number of images in file - int ramp1_min, ramp1_max; 6 2*2 LUT1 ramp min. and max. - NOTE *notes; 10 4 no notes=0; has notes=non zero - BOOL byte_format; 14 2 bytes=TRUE(1); words=FALSE(0) - int n; 16 2 image number within file - char name[32]; 18 32 file name - int merged; 50 2 merged format - unsigned color1; 52 2 LUT1 color status - unsigned file_id; 54 2 valid .PIC file=12345 - int ramp2_min, ramp2_max; 56 2*2 LUT2 ramp min. and max. - unsigned color2; 60 2 LUT2 color status - BOOL edited; 62 2 image has been edited=TRUE(1) - int _lens; 64 2 Integer part of lens magnification - float mag_factor; 66 4 4 byte real mag. factor (old ver.) - unsigned dummy[3]; 70 6 NOT USED (old ver.=real lens mag.) - ------------------------------------------------------------------------------ - - Additional information about the HEADER structure: - - Bytes Description Details - ------------------------------------------------------------------------------ - 0-9 nx, ny, npic, ramp1_min, ramp1_max; (all are 2-byte integers) - - 10-13 notes NOTES are present in the file, otherwise there are - none. NOTES follow immediately after image data at - the end of the file. Each note os 96 bytes long. - - 14-15 byte_format Read as a 2 byte integer. If this is set to 1, then - each pixel is 8-bits; otherwise pixels are 16-bits. - - 16-17 n Only used in COMOS/SOM when the file is loaded into - memory. - - 18-49 name The name of the file (without path); zero terminated. - - 50-51 merged see Note 1. - - 52-53 colour1 - - 54-55 file_id Read as a 2 byte integer. Aways set to 12345. - Just a check that the file is in Bio-Rad .PIC format. - - 56-59 ramp2_min/max Read as 2 byte integers. - - 60-61 color2 Read as a 2 byte integer. - - 62-63 edited Not used in disk files. - - 64-65 int_lens Read as a 2 byte integer. - Integer part of the objective lens used. - - 66-69 mag_factor Read as a 4-byte real. - - mag. factor=(float)(dispbox.dy*2)/(float)(512.0*scandata.ly) - - where: dispbox.dy = the width of the image. - scandata.ly = the width of the scan region. - - the pixel size in microns can be calculated as follows: - - pixel size = scale_factor/lens/mag_factor - - where: lens = the objective lens used as a floating pt. number - scale_factor = the scaling number setup for the system - on which the image was collected. - - 70-75 dummy[3] Last 6 bytes not used in current version of disk file - format. (older versions stored a 4 byte real lens mag - here.) - ------------------------------------------------------------------------------ - - Note 1 : Values stored in bytes 50-51 : - - 0 : Merge off - 1 : 4-bit merge - 2 : Alternate 8-bit merge - 3 : Alternate columns merge - 4 : Alternate rows merge - 5 : Maximum pixel intensity merge - 6 : 256 colour optimised merge with RGB LUT saved at the end - of each merge. - 7 : As 6 except that RGB LUT saved after all the notes. - - - Information about NOTE structure and the RGB LUT are not included in this - file. Please see the Bio-Rad manual for more information. - - - ============================================================================== - - Info added by Geert Meesen from MRC-600 and MRC-1024 Manuals. - - ------------------------------------------------------------- - - Note Structure : - - Bytes Description Details - ------------------------------------------------------------------------------ - 0-1 Display level of this note - - 2-5 =0 if this is the last note, else there is another note (32 bit integer) - - 10-11 Note type := 1 for live collection note, - := 2 for note including file name, - := 3 if note for multiplier file, - := 4, 5, etc.,; additional descriptive notes - - 16-95 Text of note (80 bytes) - - - ============================================================================= - - Info added by Geert Meesen from personal experiments. - - ------------------------------------------------------------ - - - Until now I only have experience with 8-bit images from the MRC-1024 confocal microscope. - The newer microscopes (Radiance 2000, for example) are capable of generating 16 bit images, - I think. I have access to such a microscope and will try to find out later. For now it - should be possible to look at the byte-word flag in the header. - - - I have experience with two types of images : - --- One slice in the Z-direction, 3 channels of recording. This type is stored as a three-slice image - with the 3 channels in consecutive layers. (Single-Slice) - --- Different Z slices with only one channel. (Z-stack) - - - The header should contain some info about the pixel-size, but until now I was not really - able to interpret this info. It's easier to extract the info from the notes at the end. - You can find 3 notes saying something like (from AUPCE.NOT, a Z-stack file) - - AXIS_2 001 0.000000e+00 2.999667e-01 microns - AXIS_3 001 0.000000e+00 2.999667e-01 microns - AXIS_4 001 0.000000e+00 1.000000e+00 microns - AXIS_9 011 0.000000e+00 1.000000e+00 RGB channel - - These lines give the pixelsize for the X (axis_2), Y (axis_3) and Z (axis_4) axis in the units mentioned. I don't - know if this unit is always 'microns'. - - For a Single-Slice images you get ( from AB003A.NOT, a Single-Slice image) : - - AXIS_2 001 0.000000e+00 1.799800e+00 microns - AXIS_3 001 0.000000e+00 1.799800e+00 microns - AXIS_4 011 0.000000e+00 1.000000e+00 RGB channel - - It seems that AXIS_4 is used for indicating an RGB channel image. -*/ diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BonjourBrowser.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BonjourBrowser.h deleted file mode 100644 index c9aace2..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BonjourBrowser.h +++ /dev/null @@ -1,120 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "BrowserController.h" -#import "BonjourPublisher.h" -#import "WaitRendering.h" - -/** \brief Searches and retrieves Bonjour shared databases */ - -@interface BonjourBrowser : NSObject -{ - NSRecursiveLock *async, *asyncWrite; - - int lastAsyncPos; - NSString *tempDatabaseFile; - - NSNetServiceBrowser *browser; - NSMutableArray *services; - NSNetService *serviceBeingResolved; - int serviceBeingResolvedIndex; - BrowserController *interfaceOsiriX; - char messageToRemoteService[ 256]; - - BonjourPublisher *publisher; - - NSMutableArray *dicomFileNames, *paths; - NSString *dbFileName, *password; - NSString *path; - BOOL isPasswordProtected, wrongPassword; - - NSMutableArray *albumStudies; - NSString *albumUID; - - NSString *setValueObject, *setValueKey; - id setValueValue; - - NSTimeInterval localVersion, BonjourDatabaseVersion; - int BonjourDatabaseIndexFileSize; - - NSString *modelVersion; - NSString *filePathToLoad; - - NSString *FileModificationDate; - - NSDictionary *dicomListener; - - NSDictionary *dicomDestination; - - volatile BOOL resolved, connectToServerAborted; - - WaitRendering *waitWindow; - - NSFileHandle *currentConnection; - - void *currentDataPtr; - int currentDataPos; - - NSDate *currentTimeOut; - - // *********************** New system - - NSDictionary *messageToSend; -} - -+ (NSString*) bonjour2local: (NSString*) str; -+ (NSString*) uniqueLocalPath:(NSManagedObject*) image; -+ (BonjourBrowser*) currentBrowser; - -- (void) waitTheLock; -- (void) setWaitDialog: (WaitRendering*) w; - -- (id) initWithBrowserController: (BrowserController*) bC bonjourPublisher:(BonjourPublisher*) bPub; - -- (BOOL) resolveServiceWithIndex:(int)index msg: (char*) msg; - -- (NSMutableArray*) services; -- (NSString *) databaseFilePathForService:(NSString*) service; - -- (void) removeStudies: (NSArray*) studies fromAlbum: (NSManagedObject*) album bonjourIndex:(int) index; -- (void) addStudies: (NSArray*) studies toAlbum: (NSManagedObject*) album bonjourIndex:(int) index; - -- (void) getDICOMROIFiles:(int) index roisPaths:(NSArray*) roisPaths; -- (NSString*) getDICOMFile:(int) index forObject:(NSManagedObject*) image noOfImages: (int) noOfImages; -- (NSString*) getDatabaseFile:(int) index ; -- (NSString*) getDatabaseFile:(int) index showWaitingWindow: (BOOL) showWaitingWindow; -- (void) setBonjourDatabaseValue:(int) index item:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; - -- (BOOL) sendDICOMFile:(int) index paths:(NSArray*) ip; -- (BOOL) isBonjourDatabaseUpToDate: (int) index; - -- (NSString*) getFile:(NSString*) pathFile index:(int) index; -- (BOOL) sendFile:(NSString*) pathFile index:(int) index; -- (BOOL) retrieveDICOMFilesWithSTORESCU:(int) indexFrom to:(int) indexTo paths:(NSArray*) ip; -- (NSDate*) getFileModification:(NSString*) pathFile index:(int) index; - -- (void) deleteRoisObject: (NSManagedObject*) o paths: (NSArray*) p; - -- (void) buildFixedIPList; -- (void) buildLocalPathsList; -- (void) buildDICOMDestinationsList; -- (void) arrangeServices; - -- (BOOL) connectToAdress: (NSString*) address port: (int) port; - -- (void) incomingConnectionProcess: (NSData*) data; - -- (NSDictionary*) getDICOMDestinationInfo:(int) index; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BonjourPublisher.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BonjourPublisher.h deleted file mode 100644 index fa01c68..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BonjourPublisher.h +++ /dev/null @@ -1,55 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "BrowserController.h" - -/** \brief Shares DB with Bonjour */ - -@interface BonjourPublisher : NSObject -{ - BOOL dbPublished; - - NSString *serviceName; - NSNetService *netService; - NSFileHandle *listeningSocket; - - int OsiriXDBCurrentPort; - int fdForListening; - int numberOfConnectedUsers; - BrowserController *interfaceOsiriX; - - NSLock *connectionLock, *dicomSendLock; -} - -- (id)initWithBrowserController: (BrowserController*) bC; - -- (void)toggleSharing:(BOOL)boo; - -// for now, we will only share the name of the shared database -- (void)connectionReceived:(NSNotification *)aNotification; - -// work as a delegate of the NSNetService -- (void)netServiceWillPublish:(NSNetService *)sender; -- (void)netService:(NSNetService *)sender didNotPublish:(NSDictionary *)errorDict; -- (void)netServiceDidStop:(NSNetService *)sender; - -- (NSNetService*) netService; - -- (void)setServiceName:(NSString *) newName; -- (NSString *) serviceName; -- (int) OsiriXDBCurrentPort; -+ (BonjourPublisher*) currentPublisher; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BrowserControllerDCMTKCategory.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BrowserControllerDCMTKCategory.h deleted file mode 100644 index 6a6da90..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BrowserControllerDCMTKCategory.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "browserController.h" - -/** \brief Category for DCMTK calls from BrowserController */ - -@interface BrowserController (BrowserControllerDCMTKCategory) -+ (NSString*) compressionString: (NSString*) string; -- (BOOL) compressDICOMWithJPEG:(NSArray *) paths; -- (BOOL) compressDICOMWithJPEG:(NSArray *) paths to:(NSString*) dest; -- (BOOL) decompressDICOMList:(NSArray *) files to:(NSString*) dest; -- (BOOL) needToCompressFile: (NSString*) path; -- (BOOL) testFiles: (NSArray*) files; -- (NSData*) getDICOMFile:(NSString*) file inSyntax:(NSString*) syntax quality: (int) quality; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BrowserMatrix.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BrowserMatrix.h deleted file mode 100644 index 3bef166..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BrowserMatrix.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= -Program: OsiriX - -Copyright (c) OsiriX Team -All rights reserved. -Distributed under GNU - LGPL - -See http://www.osirix-viewer.com/copyright.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. -=========================================================================*/ - -#import - - -@interface BrowserMatrix : NSMatrix -{ - BOOL avoidRecursive; -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BurnerWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BurnerWindowController.h deleted file mode 100644 index 4bcbb01..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/BurnerWindowController.h +++ /dev/null @@ -1,82 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -@class DRTrack; -/** \brief Window Controller for DICOM disk burning */ -@interface BurnerWindowController : NSWindowController -{ - volatile BOOL burning, isIrisAnimation; - NSMutableArray *nodeArray; - NSMutableArray *files, *anonymizedFiles, *dbObjects, *originalDbObjects; - float burnSize; - IBOutlet NSTextField *nameField; - IBOutlet NSTextField *sizeField, *finalSizeField; - IBOutlet NSMatrix *compressionMode; - IBOutlet NSButton *burnButton; - IBOutlet NSButton *anonymizedCheckButton; - NSString *cdName; - NSString *folderSize; - NSTimer *burnAnimationTimer; - int burnAnimationIndex; - volatile BOOL runBurnAnimation; - volatile BOOL isExtracting; - volatile BOOL isSettingUpBurn; - volatile BOOL isThrobbing; - NSArray *filesToBurn; - BOOL _multiplePatients; - BOOL writeDMG; - int sizeInMb; - NSString *password; - IBOutlet NSWindow *passwordWindow; - - BOOL buttonsDisabled; - BOOL burnSuppFolder, burnOsiriX, burnHtml; -} - -@property BOOL buttonsDisabled; -@property (retain) NSString *password; - -- (IBAction) ok:(id)sender; -- (IBAction) cancel:(id)sender; - -- (IBAction) setAnonymizedCheck: (id) sender; -- (id) initWithFiles:(NSArray *)theFiles; -- (id)initWithFiles:(NSArray *)theFiles managedObjects:(NSArray *)managedObjects; -- (DRTrack*) createTrack; --(IBAction)burn:(id)sender; -- (void)setCDTitle: (NSString *)title; --(IBAction)setCDName:(id)sender; --(NSString *)folderToBurn; -- (void)setFilesToBurn:(NSArray *)theFiles; -- (void)burnCD:(id)object; -- (NSArray *)extractFileNames:(NSArray *)filenames; -- (BOOL)dicomCheck:(NSString *)filename; -- (void)importFiles:(NSArray *)fileNames; -- (void)setup:(id)sender; -- (void)addDICOMDIRUsingDCMTK; -- (void)addDicomdir; -- (void)estimateFolderSize:(id)object; -- (void)performBurn:(id)object; -//- (void)reloadData:(id)object; -- (void)irisAnimation:(id)object; -- (void)throbAnimation:(id)object; -- (NSNumber*)getSizeOfDirectory:(NSString*)path; -- (NSString*) defaultTitle; -- (IBAction) estimateFolderSize: (id) sender; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ButtonAndTextCell.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ButtonAndTextCell.h deleted file mode 100644 index f9609f4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ButtonAndTextCell.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Cell for a ButtonAndTextField */ -@interface ButtonAndTextCell : NSTextFieldCell { - NSButtonCell *buttonCell; - NSTextFieldCell *textCell; -} - --(IBAction) peformAction:(id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ButtonAndTextField.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ButtonAndTextField.h deleted file mode 100644 index 99a5340..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ButtonAndTextField.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -/** \brief Control with a button and textField */ -@interface ButtonAndTextField : NSTextField { - IBOutlet NSTextField *textField; - IBOutlet NSButton *button; -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CLUTOpacityView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CLUTOpacityView.h deleted file mode 100644 index 68f5c36..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CLUTOpacityView.h +++ /dev/null @@ -1,183 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import -#import "VRController.h" -#import "VRView.h" - - -@interface CLUTOpacityView : NSView -{ - NSColor *backgroundColor, *histogramColor, *pointsColor, *pointsBorderColor, *curveColor, *selectedPointColor, *textLabelColor; - float histogramOpacity; - float *volumePointer; - int voxelCount; - vImagePixelCount *histogram; - int histogramSize; - float HUmin, HUmax; // houndsfield units bounds - NSPoint selectedPoint; - int selectedCurveIndex; - int pointDiameter, lineWidth, pointBorder; - - NSMutableArray *curves, *pointColors; - - NSMenu *contextualMenu; - - NSUndoManager *undoManager; - BOOL nothingChanged; - BOOL clutChanged; - - float zoomFactor; - float zoomFixedPoint; - - IBOutlet NSWindow *chooseNameAndSaveWindow; - IBOutlet NSTextField *clutSavedName; - - IBOutlet VRView *vrView; - BOOL vrViewLowResolution; - BOOL didResizeVRVIew; - - float mousePositionX; - - NSRect drawingRect, sideBarRect; - NSRect addCurveButtonRect, removeSelectedCurveButtonRect, saveButtonRect, closeButtonRect; - BOOL isAddCurveButtonHighlighted, isRemoveSelectedCurveButtonHighlighted, isSaveButtonHighlighted, isCloseButtonHighlighted; - - NSPoint mouseDraggingStartPoint; - BOOL updateView, setCLUTtoVRView; -} - -- (void)cleanup; -- (void)createContextualMenu; - -#pragma mark - -#pragma mark Histogram -- (void)setVolumePointer:(float*)ptr width:(int)width height:(int)height numberOfSlices:(int)n; -- (void)setHUmin:(float)min HUmax:(float)max; -- (void)computeHistogram; -- (void)drawHistogramInRect:(NSRect)rect; - -#pragma mark - -#pragma mark Curves -- (void)newCurve; -- (void)fillCurvesInRect:(NSRect)rect; -- (void)drawCurvesInRect:(NSRect)rect; -- (void)addCurveAtindex:(int)curveIndex withPoints:(NSArray*)pointsArray colors:(NSArray*)colorsArray; -- (void)deleteCurveAtIndex:(int)i; -- (void)sendToBackCurveAtIndex:(int)i; -- (void)sendToFrontCurveAtIndex:(int)i; -- (int)selectedCurveIndex; -- (void)selectCurveAtIndex:(int)i; -- (void)setColor:(NSColor*)color forCurveAtIndex:(int)curveIndex; -- (void)setColors:(NSArray*)colors forCurveAtIndex:(int)curveIndex; - -- (void)setCurves:(NSMutableArray*)newCurves; -- (void)setPointColors:(NSMutableArray*)newPointColors; - -#pragma mark - -#pragma mark Coordinate to NSView Transform -- (NSAffineTransform*)transform; - -#pragma mark - -#pragma mark Global draw method -- (void)updateView; - -#pragma mark - -#pragma mark Points selection -- (BOOL)selectPointAtPosition:(NSPoint)position; -- (void)unselectPoints; -- (BOOL)isAnyPointSelected; -- (void)changePointColor:(NSNotification *)notification; -- (void)setColor:(NSColor*)color forPointAtIndex:(int)pointIndex inCurveAtIndex:(int)curveIndex; -- (NSPoint)legalizePoint:(NSPoint)point inCurve:(NSArray*)aCurve atIndex:(int)j; -- (void)drawPointLabelAtPosition:(NSPoint)pt; -- (void)addPoint:(NSPoint)point atIndex:(int)pointIndex inCurveAtIndex:(int)curveIndex withColor:(NSColor *)color; -- (void)removePointAtIndex:(int)ip inCurveAtIndex:(int)ic; -- (void)replacePointAtIndex:(int)ip inCurveAtIndex:(int)ic withPoint:(NSPoint)point; - -#pragma mark - -#pragma mark Control Point -- (NSPoint)controlPointForCurveAtIndex:(int)i; -- (BOOL)selectControlPointAtPosition:(NSPoint)position; - -#pragma mark - -#pragma mark Lines selection -- (BOOL)clickOnLineAtPosition:(NSPoint)position; - -#pragma mark - -#pragma mark GUI -- (IBAction)computeHistogram:(id)sender; -- (IBAction)setHistogramOpacity:(id)sender; -- (IBAction)newCurve:(id)sender; -- (IBAction)setLineWidth:(id)sender; -- (IBAction)setPointDiameter:(id)sender; -- (void)niceDisplay; -- (IBAction)niceDisplay:(id)sender; -- (IBAction)sendToBack:(id)sender; -- (IBAction)setZoomFator:(id)sender; -- (IBAction)scroll:(id)sender; -- (void)setCursorLabelWithText:(NSString*)text; -- (IBAction)removeAllCurves:(id)sender; -- (void)addCurveIfNeeded; -#pragma mark Custom GUI -- (void)drawSideBar:(NSRect)rect; -- (void)drawAddCurveButton:(NSRect)rect; -- (void)drawCloseButton:(NSRect)rect; -- (void)drawRemoveSelectedCurveButton:(NSRect)rect; -- (void)drawSaveButton:(NSRect)rect; -- (BOOL)clickInSideBarAtPosition:(NSPoint)position; -- (BOOL)clickInAddCurveButtonAtPosition:(NSPoint)position; -- (BOOL)clickInRemoveSelectedCurveButtonAtPosition:(NSPoint)position; -- (BOOL)clickInSaveButtonAtPosition:(NSPoint)position; -- (BOOL)clickInCloseButtonAtPosition:(NSPoint)position; -- (void)simplifyHistogram; - -#pragma mark - -#pragma mark Copy / Paste -- (IBAction)copy:(id)sender; -- (IBAction)paste:(id)sender; -- (IBAction)delete:(id)sender; -- (IBAction)cut:(id)sender; -- (IBAction)undo:(id)sender; -- (IBAction)redo:(id)sender; - -#pragma mark - -#pragma mark Saving (as plist) -- (void)chooseNameAndSave:(id)sender; -- (IBAction)save:(id)sender; -- (void)saveWithName:(NSString*)name; -+ (NSDictionary*)presetFromFileWithName:(NSString*)name; -- (void)loadFromFileWithName:(NSString*)name; -#pragma mark conversion to plist-compatible types -- (NSArray*)convertPointColorsForPlist; -- (NSArray*)convertCurvesForPlist; -- (NSDictionary*)convertColorToDict:(NSColor*)color; -- (NSDictionary*)convertPointToDict:(NSPoint)point; -#pragma mark conversion from plist -+ (NSMutableArray*)convertPointColorsFromPlist:(NSArray*)plistPointColor; -+ (NSMutableArray*)convertCurvesFromPlist:(NSArray*)plistCurves; - -#pragma mark - -#pragma mark Connection to VRView -- (void)setCLUTtoVRView; -- (void)setCLUTtoVRView:(BOOL)lowRes; -- (void)setWL:(float)wl ww:(float)ww; - -#pragma mark - -#pragma mark Cursor -- (void)setCursorLabelWithText:(NSString*)text; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CSMailMailClient.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CSMailMailClient.h deleted file mode 100644 index 031ed10..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CSMailMailClient.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// CSMailMailClient.h -// CSMail -// -// Created by Alastair Houghton on 27/01/2006. -// Copyright 2006 Coriolis Systems Limited. All rights reserved. -// - -#import - -enum { - kCSMCMessageDispatchFeature = 0x0001, - kCSMCMessageConstructionFeature = 0x0002, - kCSMCConfigureFeature = 0x0004, -}; - - -@interface CSMailMailClient : NSObject -{ - NSAppleScript *script; -} - -+ (id) mailClient; -- (NSString *)name; -- (NSString *)version; - -- (NSString *)applicationName; - -- (BOOL)applicationIsInstalled; -- (NSImage *)applicationIcon; - -- (int)features; - -- (BOOL)deliverMessage:(NSAttributedString *)messageBody - headers:(NSDictionary *)messageHeaders; -- (BOOL)constructMessage:(NSAttributedString *)messageBody - headers:(NSDictionary *)messageHeaders; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CalciumScoringWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CalciumScoringWindowController.h deleted file mode 100644 index 8e75de0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CalciumScoringWindowController.h +++ /dev/null @@ -1,103 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/************************************************************* -Manages the Window for creating Calcium Scoring ROIs -***************************************************************/ - -#import -#import "ViewerController.h" - -@class ViewerController; - -/** \brief Manages the Window for creating Calcium Scoring ROIs*/ - -@interface CalciumScoringWindowController : NSWindowController { - ViewerController *_viewer, *_resultsViewer; - int _ctType; - int _lowerThreshold; - int _upperThreshold; - NSMutableSet *_rois; - NSString *_roiName; - - NSString *_startingPointPixelPosition; - NSString *_startingPointWorldPosition; - NSString *_startingPointValue; - - NSPoint _startingPoint; - - float _totalCalciumScore; - float _totalCalciumMass; - float _totalCalciumVolume; - - NSArray *_vessels; - NSArray *_vesselNames; - - IBOutlet NSView *_printView; -} - -- (int)ctType; -- (void)setCtType:(int)ctType; -- (int)lowerThreshold; -- (void)setLowerThreshold:(int)lowerThreshold; -- (int)upperThreshold; -- (void)setUpperThreshold:(int)upperThreshold; -- (NSMutableSet *)rois; -- (void)setRois:(NSMutableSet *)rois; -- (NSString *)roiName; -- (void)setRoiName:(NSString *)roiName; - --(NSString *)startingPointPixelPosition; -- (void)setStartingPointPixelPosition:(NSString *)position; --(NSString *)startingPointWorldPosition; -- (void)setStartingPointWorldPosition:(NSString *)position; --(NSString *)startingPointValue; -- (void)setStartingPointValue:(NSString *)value; - -- (IBAction)preview: (id)sender; -- (IBAction)compute: (id)sender; -- (IBAction)saveDocument: (id)sender; -- (void)print:(id)sender; -- (void)computeROIsWithName:(NSString *)name addROIs:(BOOL)addROIs; - -- (void)updateTotals; - -- (float)totalCalciumScore; -- (float)totalCalciumMass; -- (float)totalCalciumVolume; - -- (void)setTotalCalciumScore: (float)score; -- (void)setTotalCalciumMass: (float)mass; -- (void)setTotalCalciumVolume: (float)volume; - -- (NSArray *)vessels; -- (void)setVessels:(NSArray *)vessels; - -- (NSArray *)vesselNames; -- (void)setVesselNames:(NSArray *)name; - -- (NSString *)institution; -- (NSString *)patientID; -- (NSDate *)studyDate; -- (NSString *)patientsName; -- (NSString *)patientsSex; -- (NSString *)patientsAge; -- (NSDate *)patientsDOB; - - - - - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Camera.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Camera.h deleted file mode 100644 index ad5b277..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Camera.h +++ /dev/null @@ -1,69 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright(c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "Point3D.h" - -/** \brief Describes a 3D view state -* -* Camera saves the state of a 3D View to manage the vtkCamera, cropping planes -* window width and level, and 4D movie index -*/ - -@interface Camera : NSObject { - Point3D *position, *viewUp, *focalPoint, *minCroppingPlanes, *maxCroppingPlanes; - float clippingRangeNear, clippingRangeFar, viewAngle, eyeAngle, parallelScale, rollAngle; - NSImage *previewImage; - float wl, ww, fusionPercentage, windowCenterX, windowCenterY; - BOOL is4D; - long movieIndexIn4D; - int index; - float LOD; - BOOL forceUpdate; -} - - -@property int index; -@property (readwrite, copy) Point3D *position; -@property (readwrite, copy) Point3D *focalPoint; -@property (readwrite, copy) Point3D *viewUp; -@property (readwrite, copy) Point3D *minCroppingPlanes; -@property (readwrite, copy) Point3D *maxCroppingPlanes; -@property (readwrite, copy) NSImage *previewImage; -@property BOOL is4D, forceUpdate; -@property float viewAngle, rollAngle; -@property float eyeAngle; -@property float parallelScale; -@property float clippingRangeNear; -@property float clippingRangeFar; -@property float ww, LOD, wl; -@property float fusionPercentage; -@property long movieIndexIn4D; -@property float windowCenterX, windowCenterY; - -- (id)init; -- (id)initWithCamera:(Camera *)c; - -- (void)setClippingRangeFrom:(float)near To:(float)far; - -// window level -- (void)setWLWW:(float)newWl :(float)newWw; - - -- (NSMutableDictionary *)exportToXML; -- (id)initWithDictionary:(NSDictionary *)xml; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Centerline.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Centerline.h deleted file mode 100644 index ca0b9ff..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Centerline.h +++ /dev/null @@ -1,64 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - - -#define id Id -#include "vtkPolyData.h" -#undef id - - -@class OSIVoxel; -@class WaitRendering; - - -/** \brief Extracts an array of centerline points from marching cubes filtered Polydata -* -* Centerline extracts the centerline from a volume using thinning -* Based on Iordanescu and Summers -* Automated Centerline for CT Colonography -* Academic Radiology Vol 10 No 11 Nov 2003 pp1291-1301 -* -* -* Has properties: -* WaitRendering *wait; -* OSIVoxel *startingPoint -* OSIVoxel *endingPoint -* int thinningIterations -*/ - - -@interface Centerline : NSObject { - WaitRendering *_wait; - OSIVoxel *_startingPoint; - OSIVoxel *_endingPoint; - int _thinningIterations; - -} - -@property (readwrite, retain) WaitRendering *wait; -@property (readwrite, retain) OSIVoxel *startingPoint; -@property (readwrite, retain) OSIVoxel *endingPoint; -@property int thinningIterations; - -+ (id)centerline; -/// Creates the centerline from a marchingCubes created polygon. -- (NSArray *)generateCenterline:(vtkPolyData *)polyData startingPoint:(OSIVoxel *)start endingPoint:(OSIVoxel *)end; -///Creates a set of all neighbors -- (NSMutableSet *)connectedPointsForPoint:(vtkIdType)pt fromPolyData:(vtkPolyData *)data; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ColorTransferView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ColorTransferView.h deleted file mode 100644 index 8849676..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ColorTransferView.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface ColorTransferView : NSView { - - IBOutlet NSColorWell *pick; - IBOutlet NSTextField *position; - - NSMutableArray *colors; - NSMutableArray *points; - - NSInteger curIndex; -} - --(void) selectPicker:(id) sender; --(NSMutableArray*) getPoints; --(NSMutableArray*) getColors; --(void) ConvertCLUT:(unsigned char*) red: (unsigned char*) green: (unsigned char*) blue; --(IBAction) renderButton:(id) sender; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ColorView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ColorView.h deleted file mode 100644 index 93934c7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ColorView.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - - -@interface ColorView : NSView { - NSColor *color; -} - -- (void)setColor:(NSColor*)newColor; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CurveFitter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CurveFitter.h deleted file mode 100644 index a89840e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CurveFitter.h +++ /dev/null @@ -1,58 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// Curve fitting class based on the Simplex method described in the article "Fitting Curves to Data" in the May 1984 issue of Byte magazine, pages 340-362. - -#import - -@interface CurveFitter : NSObject -{ - int fit; // Number of curve type to fit - double *xData, *yData; // x,y data to fit - int numPoints; // number of data points - int numParams; // number of parametres - int numVertices; // numParams+1 (includes sumLocalResiduaalsSqrd) - int worst; // worst current parametre estimates - int nextWorst; // 2nd worst current parametre estimates - int best; // best current parametre estimates - double **simp; // the simplex (the last element of the array at each vertice is the sum of the square of the residuals) - double *next; // new vertex to be tested - int numIter; // number of iterations so far - int maxIter; // maximum number of iterations per restart - int restarts; // number of times to restart simplex after first soln. - double maxError; // maximum error tolerance -} - -- (double) sqr:(double) d; -- (void) doFit: (int) fitType; -- (void) initialize; -- (void) restart: (int) n; -- (int) getNumParams; -- (double) f:(int) f :(double *)p :(double) x; -- (double*) getParams; -- (double*) getResiduals; -- (double) getSumResidualsSqr; -- (double) getSD; -- (double) getFitGoodness; -- (void) sumResiduals: (double*) x; -- (void) newVertex; -- (void) order; -- (int) getIterations; -- (int) getMaxIterations; -- (void) setMaxIterations:(int) x; -- (int) getRestarts; -- (void) setRestarts:(int) x; -- (int) getMax:(double*) array; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CurvedMPR.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CurvedMPR.h deleted file mode 100644 index 98c5195..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/CurvedMPR.h +++ /dev/null @@ -1,49 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -@class ROI; -@class ViewerController; - - -/** \brief Curved MPR */ -@interface CurvedMPR : NSObject { - - NSMutableArray *pixList; - NSMutableArray *fileList; - NSData *volumeData; - ROI *selectedROI; - short curMovieIndex, maxMovieIndex; - long thickSlab; - ViewerController *viewerController, *roiViewer; - - long perSize, perInterval; - - BOOL firstTime, perPendicular; -} - -- (ROI*) roi; -//- (void) compute; -- (void) computeForView:(short)view; -- (void) recompute; -- (id) initWithObjects:(NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ROI*) roi :(ViewerController*) roiV :(long) t; -- (id) initWithObjects:(NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ROI*) roi :(ViewerController*) roiV :(long) t forView:(short)view; -- (id) initWithObjects:(NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ROI*) roi :(ViewerController*) roiV :(long) t forAxial:(BOOL)axial forCoronal:(BOOL)coronal forSagittal:(BOOL)saggital; -- (id) initWithObjectsPer:(NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ROI*) roi :(ViewerController*) roiV :(long) i :(long) s; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMCalendarScript.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMCalendarScript.h deleted file mode 100644 index 5e2d9f1..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMCalendarScript.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Runs applescript interaction with iCal */ -@interface DCMCalendarScript : NSObject { - NSAppleScript *compiledScript; -} - - -- (id)initWithCalendar:(NSString *)calendar; -- (NSMutableArray *)routingDestination; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMCursor.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMCursor.h deleted file mode 100644 index edbee24..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMCursor.h +++ /dev/null @@ -1,33 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Cursors */ -@interface NSCursor(DCMCursor) - -+(id)zoomCursor; -+(id)rotateCursor; -+(id)stackCursor; -+(id)contrastCursor; -+(id)rotate3DCursor; -+(id)rotate3DCameraCursor; -+(id)bonesRemovalCursor; -+(id)crossCursor; -+(id)rotateAxisCursor; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMObjectDBImport.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMObjectDBImport.h deleted file mode 100644 index 98948f6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMObjectDBImport.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import - -@interface DCMObjectDBImport : DCMObject { - -} -+ (id)objectWithContentsOfFile:(NSString *)file decodingPixelData:(BOOL)decodePixelData; -- (BOOL)isNeededAttribute:(char *)tagString; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMObjectPixelDataImport.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMObjectPixelDataImport.h deleted file mode 100644 index 247c9ae..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMObjectPixelDataImport.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - - -@interface DCMObjectPixelDataImport : DCMObject { - -} - -+ (id)objectWithContentsOfFile:(NSString *)file decodingPixelData:(BOOL)decodePixelData ; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMPix.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMPix.h deleted file mode 100644 index 6444d1d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMPix.h +++ /dev/null @@ -1,673 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import -#import - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class ROI; -@class ThickSlabController; -@class DCMObject; -@class Point3D; - -/** \brief Represents an image for display */ - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; /**< source File */ - BOOL isBonjour; /**< Flag to indicate if file is accessed over Bonour */ - BOOL nonDICOM; /**< Flag to indicate if file is not DICOM */ - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; /**< Core data object for image */ - float *fImage /**< float buffer of image Data */, *fExternalOwnedImage; /**< float buffer of image Data - provided by another source, not owned by this object, not release by this object */ - char *wImage; /**< ? */ - -//DICOM TAGS - -// orientation -// Point3D *origin; - BOOL isOriginDefined; - double originX /**< x position of image origin */ , originY /**< y Position of image origin */ , originZ /**< Z position of image origin*/; - double orientation[ 9]; /**< pointer to orientation vectors */ - NSString *frameOfReferenceUID; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored; - float slope, offset; - -// image size - long height, width; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *viewPosition; - NSString *patientPosition; - NSString *acquisitionDate; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor, factorPET2SUV; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife, frameReferenceTime; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - BOOL generated; - NSString *generatedName; - NSLock *checking; - - BOOL useVOILUT, notAbleToLoadImage; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - unsigned short *shortRed, *shortGreen, *shortBlue; - - char blackIndex; - - NSData *transferFunction; - float *transferFunctionPtr; - -/** custom annotations */ - NSMutableDictionary *annotationsDictionary; - -/** 12 bit monitors */ - BOOL isLUT12Bit; - unsigned char *LUT12baseAddr; - - BOOL full32bitPipeline, needToCompute8bitRepresentation; - -/** Papyrus Loading variables */ - - NSString *modalityString; - unsigned short clutEntryR, clutEntryG, clutEntryB; - unsigned short clutDepthR, clutDepthG, clutDepthB; - unsigned char *clutRed, *clutGreen, *clutBlue; - BOOL fSetClut, fSetClut16; - - int savedHeightInDB, savedWidthInDB; -} - -@property long frameNo; -@property(setter=setID:) long ID; - -@property float minValueOfSeries, maxValueOfSeries, factorPET2SUV; - -// Dimensions in pixels -@property long pwidth, pheight; - -/** Is it an RGB image (ARGB) or float image? -Note setter is different to not break existing usage. :-( */ -@property(setter=setRGB:) BOOL isRGB; - -/** Pointer to image data */ -@property(setter=setfImage:) float* fImage; - -/** WW & WL */ -@property(readonly) float ww, wl, fullww, fullwl; -@property float slope, offset, savedWW, savedWL, *subtractedfImage; - -@property(readonly) BOOL notAbleToLoadImage; -@property(readonly) NSPoint *shutterPolygonal; - -/** X/Y ratio - non-square pixels */ -@property double pixelRatio; - -/** pixel size */ -@property double pixelSpacingX, pixelSpacingY; - -/** Slice orientation */ -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (BOOL) identicalOrientationTo:(DCMPix*) c; - -- (void)orientationDouble:(double*) c; -- (void)setOrientationDouble:(double*) c; - -/** Slice location */ -@property(readonly) double originX, originY, originZ; -@property(readonly) BOOL isOriginDefined; - -/** Frame Of Reference UID */ -@property(copy) NSString *frameOfReferenceUID; - -- (void)setOrigin :(float*) o; -- (void)setOriginDouble :(double*) o; -- (void)origin: (float*)o; -- (void)originDouble: (double*)o; - -/** Axial Location */ -@property double sliceLocation; -/** Slice Thickness */ -@property double sliceThickness; -/** Slice Interval */ -@property double sliceInterval; -/** Gap between slices */ -@property(readonly) double spacingBetweenSlices; - -/** 8-bit TransferFunction */ -@property(retain) NSData *transferFunction; - -@property NSPoint subPixOffset; - -@property long DCMPixShutterRectWidth, DCMPixShutterRectHeight; -@property long DCMPixShutterRectOriginX, DCMPixShutterRectOriginY; - -@property(retain) NSString *repetitiontime, *echotime; -@property(readonly) NSString *flipAngle, *laterality; - -@property(readonly) NSString *viewPosition; -@property(readonly) NSString *patientPosition; - -@property char* baseAddr; -@property unsigned char* LUT12baseAddr; - -@property(readonly) long serieNo; -@property(readonly) NSArray *pixArray; -@property(readonly) float *transferFunctionPtr; -@property short pixPos; -@property short stackDirection; -@property float countstackMean; - -@property(getter=Tot, setter=setTot:) long Tot; - -@property(readonly) short stack, stackMode; -@property(readonly) BOOL generated; -@property(retain) NSString *generatedName; -@property(retain) NSString *sourceFile; - -/** Database links */ -@property(readonly) NSManagedObject *seriesObj; -@property(retain) NSManagedObject *imageObj; -@property(retain) NSString *srcFile; -@property(retain) NSMutableDictionary *annotationsDictionary; - -// Properties (aka accessors) needed for SUV calculations -@property(readonly) float philipsFactor; -@property float patientsWeight; -@property float halflife; -@property float radionuclideTotalDose; -@property float radionuclideTotalDoseCorrected; -@property(retain) NSCalendarDate *acquisitionTime; -@property(retain) NSString *acquisitionDate; -@property(retain) NSCalendarDate *radiopharmaceuticalStartTime; -@property BOOL SUVConverted, full32bitPipeline, needToCompute8bitRepresentation; -@property(readonly) BOOL hasSUV; -@property float decayFactor; -@property(retain) NSString *units, *decayCorrection; -@property BOOL displaySUVValue; - -@property BOOL isLUT12Bit; - -- (float) appliedFactorPET2SUV; -- (void) copySUVfrom: (DCMPix*) from; /**< Copy the SUV from another DCMPic */ -- (float) getPixelValueX: (long) x Y:(long) y; /**< Get the pixel for a point with x,y coordinates */ - -- (void) checkSUV; /**< Makes sure all the necessary values for SUV calculation are present */ - -+ (void) checkUserDefaults: (BOOL) update; /**< Check User Default for needed setting */ -+ (void) resetUserDefaults; /**< Reset the defaults */ - /** Determine if a point is inside a polygon - * @param x is the NSPoint to check. - * @param poly is a pointer to an array of NSPoints. - * @param count is the number of - * points in the polygon. -*/ -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -- (void) compute8bitRepresentation; -- (void) changeWLWW:(float)newWL :(float)newWW; /**< Change window level to window width to the new values */ -- (void) computePixMinPixMax; /**< Compute the min and max values in the image */ - -// Compute ROI data -/** Calculates the cofactor used Calcium scoring. -* Depends on the threshold used for scoring -* Threshold is usually 90 or 120 depending on whether the source is -* Electron Beam or Multislice CT -*/ -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; - -/** returns calculated values for ROI: -* mean, total, deviation, min, max -*/ -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -/** Not sure when this is used rather than computeROI: */ -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack -* @param stackNo -* @param restore -* @param addition -*/ -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition spline:(BOOL) spline; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack ? -* @param stackNo -* @param restore -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientation -* @param stackNo -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; - -/** Fill a ROI with a value. -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside If YES replace outside the ROI -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi size:(NSSize*) size origin:(NSPoint*) origin; /**< Map from Polygon ROI */ - -/** Is this Point (pt) in this ROI ? */ -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -* using current slice location and orientation -*/ -- (void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; -- (void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d pixelCenter: (BOOL) pixelCenter; - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords double d[3] (in mm) -* using current slice location and orientation -*/ -- (void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; -- (void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d pixelCenter: (BOOL) pixelCenter; - -/** convert DICOM coordinated to slice coordinates */ -- (void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; -- (void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc pixelCenter:(BOOL) pixelCenter; - -/** convert DICOM coordinated to slice coordinates */ -- (void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; -- (void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc pixelCenter:(BOOL) pixelCenter; - -/** Return index & sliceCoords */ -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; - - - -- (BOOL) thickSlabVRActivated; /**< Activate Thick Slab VR */ - -/** convert to Black and White. -* @param mode values: 0 Use Red Channel, 1 use Green Channel 2 use Blue Channel 3 Merge and use RGB -*/ -- (void) ConvertToBW:(long) mode; - -/** convert to RGB. -* @param mode values: 0 create Red Channel, 1 create Green Channel 2 create Blue Channel 3 create all channels -* @param cwl = window level to use -* @param cww = window width to use -*/ -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; - -- (float) cineRate; /**< Returns the Cine rate */ - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (void) imageArithmeticSubtraction:(DCMPix*) sub absolute:(BOOL) abs; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; --(float*) arithmeticSubtractImages :(float*) input :(float*) subfImage absolute:(BOOL) abs; -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; -- (BOOL) isLoaded; -- (void) fImageTime:(float)newTime; -- (float) fImageTime; -- (void) freefImageWhenDone:(BOOL) b; -- (void) maskID:(long)newID; -- (long) maskID; -- (void) maskTime:(float)newMaskTime; -- (float) maskTime; -- (void) getDataFromNSImage:(NSImage*) otherImage; -- (void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; -- (NSNumber*) positionerPrimaryAngle; -- (void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; -- (NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -+ (NSPoint) originCorrectedAccordingToOrientation: (DCMPix*) pix1; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; -- (void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; -- (BOOL) DCMPixShutterOnOff; -- (void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -//- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; /**< Returns an Empty object */ -- (short*) kernel; -- (void) applyShutter; -+ (NSPoint) rotatePoint:(NSPoint)pt aroundPoint:(NSPoint)c angle:(float)a; -- (short) normalization; -- (short) kernelsize; -- (DCMPix*) renderWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) renderWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF backgroundOffset: (float) bgO; -- (NSRect) usefulRectWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) mergeWithDCMPix:(DCMPix*) o offset:(NSPoint) oo; -- (DCMPix*) renderInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) renderInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF smartCrop: (BOOL) smartCrop; -- (NSImage*) renderNSImageInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -/** calls -* myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO -* with hello = NO and iO = nil -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; -- (id) initWithPath:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; - -/** Initialize -* doesn't load pix data, only initializes instance variables -* @param s filename -* @param pos imageID Position in array. -* @param tot imTot Total number of images. -* @param ptr pointer to volume -* @param f frame number -* @param ss series number -* @param hello flag to indicate remote bonjour file -* @param iO coreData image Entity for image -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; -- (id) initWithPath:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; - -/** init with data pointer -* @param im pointer to image data -* @param pixelSize pixelDepth in bits -* @param xDim image width -* @param yDim =image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; -- (id) initWithData :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; - -/** init with data pointer -* @param im = pointer to image data -* @param pixelSize = pixelDepth in bits -* @param xDim image width -* @param yDim image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -* @param volSize ? -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (id) initWithData :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; - -- (id) initWithImageObj: (NSManagedObject *)entity; -- (id) initWithContentsOfFile: (NSString *)file; -/** create an NSImage from the current pix -* @param smallIcon thumbnail size -* @param newWW window width to use -* @param newWL window level to use; -*/ -- (NSImage*) generateThumbnailImageWithWW: (float)newWW WL: (float)newWL; -- (void) allocate8bitRepresentation; - -/** create an NSImage from the current pix using the current ww/wl. Full size*/ -- (NSImage*) image; - -/** reeturns the current image. returns nil if no image has be previously created */ -// - (NSImage*) getImage; - -/** A pointer to the orientation. 9 values in length. 3 for each axis. */ -- (void) orientation:(float*) c; - -/** Sets the orientation. 9 values in length. 3 for each axis. */ -- (void) setOrientation:(float*) c; - -/** Releases the current NSImage */ -- (void) kill8bitsImage; - -- (void) checkImageAvailble:(float)newWW :(float)newWL; - -/** Load the DICOM image using the DCMFramework. -* There should be no reason to call this. The class will call it when needed. */ -- (BOOL)loadDICOMDCMFramework; - -/** Load the DICOM image using Papyrus. -* There should be no reason to call this. The class will call it when needed. -*/ -- (BOOL) loadDICOMPapyrus; - -/** Reset the Annotations */ -- (void) reloadAnnotations; - - -/** Parses the file. Extracts necessary data. Load image data. -* This class will be called by the class when necessay. -* There should be no need to call it externally -*/ -- (void) CheckLoadIn; - -/** Calls CheckLoadIn when needed */ -- (void) CheckLoad; - -/** Compute the float pointer for the image data */ -- (float*) computefImage; - -/** Sets fusion paramaters -* @param m stack mode -* @param s stack -* @param direction stack direction -*/ -- (void) setFusion:(short) m :(short) s :(short) direction; - -/** Sets updateToBeApplied to YES. It is called whenver a setting has been changed. -* Should be called by the class automatically when needed */ -- (void) setUpdateToApply; - - -/** Releases the fImage and sets all values to nil. */ -- (void) revert; -- (void) revert:(BOOL) reloadAnnotations; - -/** finds the min and max pixel values. -* Sets the appropriate values for fullWW and fullWL -*/ -- (void) computePixMinPixMax; - -/** Sets the ThickSlabController */ -- (void) setThickSlabController:( ThickSlabController*) ts; - - -/** Sets the fixed8bitsWLWW flag */ -- (void) setFixed8bitsWLWW:(BOOL) f; - -/** Creates a DCMPix with the original values and places it in the restore cache*/ -- (void) prepareRestore; - - -/** Releases the restored DCMPix from the restoreCache */ -- (void) freeRestore; - -/** Sets flag for when OsiriX is running in protected mode */ -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; - -/** Returns flag for protected mode */ -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -/** Clears the papyrus group cache */ -- (void) clearCachedPapyGroups; -- (void) clearCachedDCMFrameworkFiles; -+ (void) purgeCachedDictionaries; - -/** Returns a pointer the the papyrus group -* @param group group -* @param fileNb papyrus file -*/ -- (void *) getPapyGroup: (int)group; - -/** create ROIs from RTSTRUCT */ -- (void)createROIsFromRTSTRUCT: (DCMObject*)dcmObject; - -#ifdef OSIRIX_VIEWER - -/** Custom Annotations */ -- (void)loadCustomImageAnnotationsPapyLink:(int)fileNb DCMLink:(DCMObject*)dcmObject; -- (NSString*) getDICOMFieldValueForGroup:(int)group element:(int)element papyLink:(short)fileNb; -- (NSString*) getDICOMFieldValueForGroup:(int)group element:(int)element DCMLink:(DCMObject*)dcmObject; - -/** Set flag to anonymize the annotations */ -+ (BOOL) setAnonymizedAnnotations: (BOOL) v; -#endif - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKImageQueryNode.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKImageQueryNode.h deleted file mode 100644 index 61bda7f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKImageQueryNode.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "DCMTKQueryNode.h" - -/** \brief Image level DCMTKQueryNode*/ -@interface DCMTKImageQueryNode : DCMTKQueryNode -{ - NSString *_studyInstanceUID, *_seriesInstanceUID; -} - -- (NSString*) seriesInstanceUID; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKPrintSCU.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKPrintSCU.h deleted file mode 100644 index b6cb985..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKPrintSCU.h +++ /dev/null @@ -1,80 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DCMTKServiceClassUser.h" - -#undef verify - -#include "osconfig.h" -#include "ofstdinc.h" -#include "dviface.h" -#include "dvpssp.h" - -/** \brief DCMTK based PrintSCU Not in use */ -@interface DCMTKPrintSCU : DCMTKServiceClassUser { - - const char * _printerID; /* printer ID */ - const char * _cfgName; /* config read file name */ - DVPSFilmOrientation _filmorientation; - DVPSTrimMode _trim; - DVPSDecimateCropBehaviour _decimate; - unsigned int _columns; - unsigned int _rows; - unsigned int _copies; - unsigned int _ovl_graylevel; - const char * _filmsize; - const char * _magnification; - const char * _smoothing; - const char * _configuration; - const char * _img_polarity; - const char * _img_request_size; - const char * _img_magnification; - const char * _img_smoothing; - const char * _img_configuration; - const char * _resolution; - const char * _border; - const char * _emptyimage; - const char * _maxdensity; - const char * _mindensity; - const char * _plutname; - NSArray* _filenames; - int _LUTshape; // 0=use SCP default, 1=IDENTITY, 2=LIN OD. - OFBool _inverse_plut; - OFBool _spool; - const char * _mediumtype; - const char * _destination; - const char * _sessionlabel; - const char * _priority; - const char * _ownerID; - - OFBool _annotation; - OFBool _annotationDatetime; - OFBool _annotationPrinter; - OFBool _annotationIllumination; - const char * _annotationString; - - unsigned int _illumination; - unsigned int _reflection; - -} - -- (id) initWithCallingAET:(NSString *)myAET - calledAET:(NSString *)theirAET - hostname:(NSString *)hostname - port:(int)port - filesToSend:(NSArray *)filesToSend - extraParameters:(NSDictionary *)extraParameters; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKQueryNode.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKQueryNode.h deleted file mode 100644 index 9c9b4e4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKQueryNode.h +++ /dev/null @@ -1,109 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "DCMTKServiceClassUser.h" - -#undef verify - -#include "osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcdatset.h" -#include "dimse.h" -#include "dccodec.h" -//#include "tlstrans.h" -//#include "tlslayer.h" -//#include "ofstring.h" - - - -@class DCMCalendarDate; -/** \brief Base class for query nodes */ -@interface DCMTKQueryNode : DCMTKServiceClassUser { - NSMutableArray *_children; - NSString *_uid; - NSString *_theDescription; - NSString *_name; - NSString *_patientID; - NSString *_referringPhysician; - NSString *_accessionNumber; - DCMCalendarDate *_date; - DCMCalendarDate *_birthdate; - DCMCalendarDate *_time; - NSString *_modality; - NSNumber *_numberImages; - NSString *_specificCharacterSet; - NSManagedObject *_logEntry; - BOOL showErrorMessage; -} - -+ (id)queryNodeWithDataset:(DcmDataset *)dataset - callingAET:(NSString *)myAET - calledAET:(NSString *)theirAET - hostname:(NSString *)hostname - port:(int)port - transferSyntax:(int)transferSyntax - compression: (float)compression - extraParameters:(NSDictionary *)extraParameters; - -- (id)initWithDataset:(DcmDataset *)dataset - callingAET:(NSString *)myAET - calledAET:(NSString *)theirAET - hostname:(NSString *)hostname - port:(int)port - transferSyntax:(int)transferSyntax - compression: (float)compression - extraParameters:(NSDictionary *)extraParameters; - -- (NSString *)uid; -- (NSString *)theDescription; -- (NSString *)name; -- (NSString *)patientID; -- (NSString *)accessionNumber; -- (NSString *)referringPhysician; -- (DCMCalendarDate *)date; -- (DCMCalendarDate *)time; -- (NSString *)modality; -- (NSNumber *)numberImages; -- (NSMutableArray *)children; -- (void)purgeChildren; -- (void)addChild:(DcmDataset *)dataset; -- (DcmDataset *)queryPrototype; -- (DcmDataset *)moveDataset; -// values are a NSDictionary the key for the value is @"value" key for the name is @"name" name is the tag descriptor from the tag dictionary -- (void)queryWithValues:(NSArray *)values; -- (void) queryWithValues:(NSArray *)values dataset:(DcmDataset*) dataset; -- (void)move:(NSDictionary*) dict; -- (NSManagedObject *)logEntry; -- (void)setLogEntry:(NSManagedObject *)logEntry; -- (void)setShowErrorMessage:(BOOL) m; -//common network code for move and query -- (BOOL)setupNetworkWithSyntax:(const char *)abstractSyntax dataset:(DcmDataset *)dataset; -- (BOOL)setupNetworkWithSyntax:(const char *)abstractSyntax dataset:(DcmDataset *)dataset destination:(NSString*) destination; -- (OFCondition) addPresentationContext:(T_ASC_Parameters *)params abstractSyntax:(const char *)abstractSyntax; - -- (OFCondition)findSCU:(T_ASC_Association *)assoc dataset:( DcmDataset *)dataset; -- (OFCondition) cfind:(T_ASC_Association *)assoc dataset:(DcmDataset *)dataset; - -- (OFCondition) cmove:(T_ASC_Association *)assoc network:(T_ASC_Network *)net dataset:(DcmDataset *)dataset; -- (OFCondition) cmove:(T_ASC_Association *)assoc network:(T_ASC_Network *)net dataset:(DcmDataset *)dataset destination: (char*) destination; -- (OFCondition) moveSCU:(T_ASC_Association *)assoc network:(T_ASC_Network *)net dataset:( DcmDataset *)dataset; -- (OFCondition) moveSCU:(T_ASC_Association *)assoc network:(T_ASC_Network *)net dataset:( DcmDataset *)dataset destination: (char*) destination; - -- (OFCondition) cget:(T_ASC_Association *)assoc network:(T_ASC_Network *)net dataset:(DcmDataset *)dataset; -- (OFCondition) getSCU:(T_ASC_Association *)assoc network:(T_ASC_Network *)net dataset:( DcmDataset *)dataset; - -- (void) move:(NSDictionary*) dict retrieveMode: (int) retrieveMode; -- (void) move:(NSDictionary*) dict; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKQueryRetrieveSCP.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKQueryRetrieveSCP.h deleted file mode 100644 index ecaf6a0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKQueryRetrieveSCP.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief DICOM Q/R SCP -* -* DCMTKQueryRetrieveSCP is the Query/ Retrieve Server and listener -* based on DCMTK -*/ - -@interface DCMTKQueryRetrieveSCP : NSObject { - int _port; - NSString *_aeTitle; - NSDictionary *_params; - BOOL _abort; - BOOL running; -} - -+ (BOOL) storeSCP; -- (id)initWithPort:(int)port aeTitle:(NSString *)aeTitle extraParamaters:(NSDictionary *)params; -- (void)run; -- (void)abort; -- (int) port; -- (NSString*) aeTitle; -- (BOOL) running; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKRootQueryNode.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKRootQueryNode.h deleted file mode 100644 index eeadabb..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKRootQueryNode.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "DCMTKQueryNode.h" - -/** \brief Root level DCMTKQueryNode */ -@interface DCMTKRootQueryNode : DCMTKQueryNode { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKSeriesQueryNode.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKSeriesQueryNode.h deleted file mode 100644 index 0bf904a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKSeriesQueryNode.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "DCMTKQueryNode.h" - -/** \brief Series level DCMTKQueryNode */ -@interface DCMTKSeriesQueryNode : DCMTKQueryNode -{ - NSString *_studyInstanceUID; -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKServiceClassUser.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKServiceClassUser.h deleted file mode 100644 index b5b48fc..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKServiceClassUser.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -/********** -Super Class for SCU classes such as verifySCU, storeSCU, moveSCU, findSCU -**********/ - -#import - -#undef verify - -#include "osconfig.h" /* make sure OS specific configuration is included first */ -#include "dcdatset.h" -#include "dimse.h" -#include "dccodec.h" -//#include "tlstrans.h" -//#include "tlslayer.h" -//#include "ofstring.h" - - -/** \brief Base Class for SCU classes such as verifySCU, storeSCU, moveSCU, findSCU -* -* SCU classes are usually outgoing connections -* based on DCMTK -*/ - -#import "DICOMTLS.h" -#import "DDKeychain.h" - -@interface DCMTKServiceClassUser : NSObject { - NSString *_callingAET; - NSString *_calledAET; - int _port; - NSString *_hostname; - NSDictionary *_extraParameters; - BOOL _shouldAbort; - int _transferSyntax; - float _compression; - - //network parameters - BOOL _verbose; - BOOL _debug; - BOOL _abortAssociation; - unsigned long _maxReceivePDULength ; - //unsigned long _repeatCount ; - int _repeatCount ; - int _cancelAfterNResponses; - E_TransferSyntax _networkTransferSyntax; - T_DIMSE_BlockingMode _blockMode; - int _dimse_timeout; - int _acse_timeout; - - //TLS settings - BOOL _secureConnection; - BOOL _doAuthenticate; - int _keyFileFormat; - NSArray *_cipherSuites; - const char *_readSeedFile; - const char *_writeSeedFile; - TLSCertificateVerificationType certVerification; - const char *_dhparam; -} - -@property BOOL _abortAssociation; - -- (id) initWithCallingAET:(NSString *)myAET - calledAET:(NSString *)theirAET - hostname:(NSString *)hostname - port:(int)port - transferSyntax:(int)transferSyntax - compression: (float)compression - extraParameters:(NSDictionary *)extraParameters; - -- (OFCondition) addPresentationContext:(T_ASC_Parameters *)params abstractSyntax:(const char *)abstractSyntax; -- (NSString *)calledAET; -- (NSString *)callingAET; -- (NSDictionary *) extraParameters; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKStoreSCU.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKStoreSCU.h deleted file mode 100644 index 5010229..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKStoreSCU.h +++ /dev/null @@ -1,73 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DICOMTLS.h" -#import "DDKeychain.h" - -int runStoreSCU(const char *myAET, const char*peerAET, const char*hostname, int port, NSDictionary *extraParameters); - -/** \brief DICOM Send -* -* DCMTKStoreSCU performs the DICOM send -* based on DCMTK -*/ -@interface DCMTKStoreSCU : NSObject { - NSString *_callingAET; - NSString *_calledAET; - int _port; - NSString *_hostname; - NSDictionary *_extraParameters; - BOOL _shouldAbort; - int _transferSyntax; - float _compression; - - NSMutableArray *_filesToSend; - int _numberOfFiles; - int _numberSent; - int _numberErrors; - NSString *_patientName; - NSString *_studyDescription; - id _logEntry; - - //TLS settings - BOOL _secureConnection; - BOOL _doAuthenticate; - int _keyFileFormat; - NSArray *_cipherSuites; - const char *_readSeedFile; - const char *_writeSeedFile; - TLSCertificateVerificationType certVerification; - const char *_dhparam; -} -+ (int) sendSyntaxForListenerSyntax: (int) listenerSyntax; -- (id) initWithCallingAET:(NSString *)myAET - calledAET:(NSString *)theirAET - hostname:(NSString *)hostname - port:(int)port - filesToSend:(NSArray *)filesToSend - transferSyntax:(int)transferSyntax - compression: (float)compression - extraParameters:(NSDictionary *)extraParameters; - -- (void)run:(id)sender; -- (void)updateLogEntry: (NSMutableDictionary*) userInfo; -- (void)abort; -@end - - - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKStudyQueryNode.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKStudyQueryNode.h deleted file mode 100644 index e82e84e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKStudyQueryNode.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DCMTKQueryNode.h" - -/** \brief Study level DCMTKQueryNode */ -@interface DCMTKStudyQueryNode : DCMTKQueryNode { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKVerifySCU.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKVerifySCU.h deleted file mode 100644 index 6eb14a0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMTKVerifySCU.h +++ /dev/null @@ -1,33 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// - -#import -#import "DCMTKServiceClassUser.h" -#undef verify - -/** \brief DICOM verify/echo */ - -int runEcho(const char *myAET, const char*peerAET, const char*hostname, int port, NSDictionary *extraParameters); - -@interface DCMTKVerifySCU : DCMTKServiceClassUser { - NSException *verifyException; -} - -- (BOOL)echo; --(OFCondition)cecho:(T_ASC_Association *) assoc repeat:(int) num_repeat; --(OFCondition)echoSCU:(T_ASC_Association *) assoc; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMView.h deleted file mode 100644 index c37dc90..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DCMView.h +++ /dev/null @@ -1,516 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -#include -#include -#include -#include -#include -#include - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -// WARNING: If you add or modify this list, check ViewerController.m, DCMView.h and HotKey Pref Pane - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - -typedef enum {DCMViewTextAlignLeft, DCMViewTextAlignCenter, DCMViewTextAlignRight} DCMViewTextAlign; - -@class GLString; -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; -@class DICOMExport; -//@class LoupeController; -@class DCMObject; - -@interface DCMExportPlugin: NSObject -- (void) finalize:(DCMObject*) dcmDst withSourceObject:(DCMObject*) dcmObject; -- (NSString*) seriesName; -@end - -/** \brief Image/Frame View for ViewerController */ - -@interface DCMView: NSOpenGLView -{ - NSInteger _imageRows; - NSInteger _imageColumns; - NSInteger _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - int volumicData; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], opaqueTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - - float sliceFromTo[ 2][ 3], sliceFromToS[ 2][ 3], sliceFromToE[ 2][ 3], sliceFromTo2[ 2][ 3], sliceFromToThickness; - - float sliceVector[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - DCMExportPlugin *dcmExportPlugin; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight, currentMouseEventTool; - - BOOL mouseDragging; - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - BOOL curWLWWSUVConverted; - float curWLWWSUVFactor; - - NSSize scaleStart, scaleInit; - - double resizeTotal; - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; - long textureY, blendingTextureY; - GLuint * pTextureName; - GLuint * blendingTextureName; - long textureWidth, blendingTextureWidth; - long textureHeight, blendingTextureHeight; - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - - BOOL cursorSet; - NSTrackingArea *cursorTracking; - - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSTimer *_rightMouseDownTimer; //Checking For Right hold - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged, needToLoadTexture, dontEnterReshape, showDescriptionInLarge; - - BOOL scaleToFitNoReentry; - - GLString *showDescriptionInLargeText; - - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible, updateNotificationRunning; - - char *resampledBaseAddr, *blendingResampledBaseAddr; - BOOL zoomIsSoftwareInterpolated, firstTimeDisplay; - - int resampledBaseAddrSize, blendingResampledBaseAddrSize; - - // iChat - float iChatWidth, iChatHeight; - unsigned char* iChatCursorTextureBuffer; - GLuint iChatCursorTextureName; - NSSize iChatCursorImageSize; - NSPoint iChatCursorHotSpot; - BOOL iChatDrawing; - GLuint iChatFontListGL; - NSFont *iChatFontGL; - long iChatFontListGLSize[ 256]; - NSMutableDictionary *iChatStringTextureCache; - NSSize iChatStringSize; - NSRect drawingFrameRect; - - BOOL exceptionDisplayed; - BOOL COPYSETTINGSINSERIES; - BOOL is2DViewerCached, is2DViewerValue; - - char* lensTexture; - int LENSSIZE; - float LENSRATIO; - BOOL cursorhidden; - int avoidRecursiveSync; - BOOL avoidChangeWLWWRecursive; - BOOL TextureComputed32bitPipeline; - - NSImage *loupeImage, *loupeMaskImage; - GLuint loupeTextureID, loupeTextureWidth, loupeTextureHeight; - GLubyte *loupeTextureBuffer; - GLuint loupeMaskTextureID, loupeMaskTextureWidth, loupeMaskTextureHeight; - GLubyte *loupeMaskTextureBuffer; - float studyColorR, studyColorG, studyColorB; -// LoupeController *loupeController; -} - -@property NSRect drawingFrameRect; -@property(readonly) NSMutableArray *rectArray, *curRoiList; -@property BOOL COPYSETTINGSINSERIES, flippedData, dontEnterReshape, showDescriptionInLarge; -@property(readonly) NSMutableArray *dcmPixList, *dcmRoiList; -@property(readonly) NSArray *dcmFilesList; -@property long syncSeriesIndex; -@property float syncRelativeDiff, studyColorR, studyColorG, studyColorB; -@property long blendingMode; -@property(retain,setter=setBlending:) DCMView *blendingView; -@property(readonly) float blendingFactor; -@property BOOL xFlipped, yFlipped; -@property(retain) NSString *stringID; -@property short currentTool; -@property(setter=setRightTool:) short currentToolRight; -@property(readonly) short curImage; -@property(retain) NSMatrix *theMatrix; -@property(readonly) BOOL suppressLabels; -@property float scaleValue, rotation; -@property NSPoint origin, originOffset; -@property(readonly) double pixelSpacing, pixelSpacingX, pixelSpacingY; -@property(readonly) DCMPix *curDCM; -@property(retain) DCMExportPlugin *dcmExportPlugin; -@property(readonly) float mouseXPos, mouseYPos; -@property(readonly) float contextualMenuInWindowPosX, contextualMenuInWindowPosY; -@property(readonly) GLuint fontListGL; -@property(readonly) NSFont *fontGL; -@property NSInteger tag; -@property(readonly) float curWW, curWL; -@property NSInteger rows, columns; -@property(readonly) NSCursor *cursor; -@property BOOL eraserFlag; -@property BOOL drawing; -@property BOOL volumicSeries; -@property(readonly) BOOL isKeyView, mouseDragging; - -+ (BOOL) noPropagateSettingsInSeriesForModality: (NSString*) m; -+ (void) purgeStringTextureCache; -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override DEPRECATED_ATTRIBUTE; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -+ (int) DistancePointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint :(float*) Distance; -+ (float) pbase_Plane: (float*) point :(float*) planeOrigin :(float*) planeVector :(float*) pointProjection; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (void) gClickCountSetReset; -- (int) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; - -- (unsigned char*) getRawPixelsWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allTiles:(BOOL) allTiles allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing; -- (unsigned char*) getRawPixelsWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allTiles:(BOOL) allTiles allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing offset:(int*) offset isSigned:(BOOL*) isSigned; - -- (unsigned char*) getRawPixelsViewWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing; -- (unsigned char*) getRawPixelsViewWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing offset:(int*) offset isSigned:(BOOL*) isSigned; - -- (void) blendingPropagate; -- (void) subtract:(DCMView*) bV; -- (void) subtract:(DCMView*) bV absolute:(BOOL) abs; -- (void) multiply:(DCMView*) bV; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT textureWidth: (long*) tW textureHeight:(long*) tH resampledBaseAddr:(char**) rAddr resampledBaseAddrSize:(int*) rBAddrSize; -- (short)syncro; -- (void)setSyncro:(short) s; - -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (NSPoint) ConvertFromNSView2GL:(NSPoint) a; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromUpLeftView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (NSPoint) ConvertFromGL2NSView:(NSPoint) a; -- (NSPoint) ConvertFromGL2Screen:(NSPoint) a; -- (NSPoint) ConvertFromGL2GL:(NSPoint) a toView:(DCMView*) otherView; -- (NSRect) smartCrop; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (NSImage*) nsimage; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (NSDictionary*) exportDCMCurrentImage: (DICOMExport*) exportDCM size:(int) size; -- (NSImage*) exportNSImageCurrentImageWithSize:(int) size; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (void) setPixels: (NSMutableArray*) pixels files: (NSArray*) files rois: (NSMutableArray*) rois firstImage: (short) firstImage level: (char) level reset: (BOOL) reset; -- (void) sendSyncMessage:(short) inc; -- (void) loadTextures; -- (void)loadTexturesCompute; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (NSPoint) rotatePoint:(NSPoint) a; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginX:(float) x Y:(float) y; -- (void) setOriginOffset:(NSPoint) x; -- (void) scaleToFit; -- (float) scaleToFitForDCMPix: (DCMPix*) d; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (void) roiSet; -- (void) sync3DPosition; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) sync:(NSNotification*)note; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (NSArray*) filenames; -- (BOOL)checkHasChanged; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY :(long) tW :(long) tH; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawNSStringGL:(NSString*)str :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawCStringGL:(char*)cstrOut :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) drawImage:(NSImage *)image inBounds:(NSRect)rect; -- (void) setScaleValueCentered:(float) x; -- (void) updateCurrentImage: (NSNotification*) note; -- (void) setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void) updateTilingViews; -- (void) becomeMainWindow; -- (void) checkCursor; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void) updatePresentationStateFromSeries; -- (void) updatePresentationStateFromSeriesOnlyImageLevel: (BOOL) onlyImage; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) computeMagnifyLens:(NSPoint) p; -- (void)makeTextureFromImage:(NSImage*)image forTexture:(GLuint*)texName buffer:(GLubyte*)buffer textureUnit:(GLuint)textureUnit; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) updateImage; -- (BOOL) shouldPropagate; -- (NSPoint) convertFromView2iChat: (NSPoint) a; -- (NSPoint) convertFromNSView2iChat: (NSPoint) a; -- (void) annotMenu:(id) sender; -- (ROI*) clickInROI: (NSPoint) tempPt; -- (void) switchShowDescriptionInLarge; -- (void) deleteLens; -- (void)getOrientationText:(char *) orientation : (float *) vector :(BOOL) inv; -- (NSMutableArray*) selectedROIs; -- (void) computeSliceIntersection: (DCMPix*) oPix sliceFromTo: (float[2][3]) sft vector: (float*) vectorB origin: (float*) originB; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx withShift: (double) shift; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx withShift: (double) shift showPoint: (BOOL) showPoint; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular withShift:(double) shift; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular withShift:(double) shift half:(BOOL) half; -- (void) drawCrossLines:(float[2][3]) sft ctx: (CGLContextObj) cgl_ctx perpendicular:(BOOL) perpendicular withShift:(double) shift half:(BOOL) half showPoint: (BOOL) showPoint; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; -- (void) roiLoadFromFilesArray: (NSArray*) filenames; -- (id)windowController; -- (BOOL)is2DViewer; -- (void) setCOPYSETTINGSINSERIESdirectly: (BOOL) b; --(BOOL)actionForHotKey:(NSString *)hotKey; -+(NSDictionary*) hotKeyDictionary; -+(NSDictionary*) hotKeyModifiersDictionary; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (BOOL)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; -- (void) computeColor; -- (void)setIsLUT12Bit:(BOOL)boo; -- (BOOL)isLUT12Bit; - -//- (void)displayLoupe; -//- (void)displayLoupeWithCenter:(NSPoint)center; -//- (void)hideLoupe; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMExport.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMExport.h deleted file mode 100644 index 0179c43..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMExport.h +++ /dev/null @@ -1,90 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -@class DCMObject; -@class DCMExportPlugin; - -/** \brief Export image as DICOM */ -@interface DICOMExport : NSObject -{ - NSString *dcmSourcePath; - DCMObject *dcmDst; - - // Raw data support - unsigned char *data, *localData; - long width, height, spp, bps; - BOOL isSigned, modalityAsSource; - int offset; - - // NSImage support - NSImage *image; - NSBitmapImageRep *imageRepresentation; - unsigned char *imageData; - BOOL freeImageData; - - int exportInstanceNumber, exportSeriesNumber; - NSString *exportSeriesUID; - NSString *exportSeriesDescription; - - long ww, wl; - float spacingX, spacingY, slope; - float sliceThickness; - float sliceInterval; - float orientation[ 6]; - float position[ 3]; - float slicePosition; -} - -// Is this DCM file based on another DCM file? -- (void) setSourceFile:(NSString*) isource; - -// Set Pixel Data from a raw source -- (long) setPixelData: (unsigned char*) idata - samplesPerPixel: (int) ispp - bitsPerSample: (int) ibps - width: (long) iwidth - height: (long) iheight; - -- (long) setPixelData: (unsigned char*) deprecated - samplePerPixel: (long) deprecated - bitsPerPixel: (long) deprecated // This is INCORRECT - backward compatibility - width: (long) deprecated - height: (long) deprecated; - -- (void) setSigned: (BOOL) s; -- (void) setOffset: (int) o; - -// Set Pixel Data from a NSImage -- (long) setPixelNSImage: (NSImage*) iimage; - -// Write the image data -- (NSString*) writeDCMFile: (NSString*) dstPath; -- (NSString*) writeDCMFile: (NSString*) dstPath withExportDCM:(DCMExportPlugin*) dcmExport; -- (void) setModalityAsSource: (BOOL) v; -- (NSString*) seriesDescription; -- (void) setSeriesDescription: (NSString*) desc; -- (void) setSeriesNumber: (long) no; -- (void) setDefaultWWWL: (long) ww :(long) wl; -- (void) setSlope: (float) s; -- (void) setPixelSpacing: (float) x :(float) y; -- (void) setSliceThickness: (double) t; -- (void) setOrientation: (float*) o; -- (void) setPosition: (float*) p; -- (void) setSlicePosition: (float) p; -- (NSString*) SOPInstanceUID; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMTLS.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMTLS.h deleted file mode 100644 index b1c6e43..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMTLS.h +++ /dev/null @@ -1,65 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import -#import "DDKeychain.h" - -typedef enum -{ - RequirePeerCertificate = 0, - VerifyPeerCertificate, - IgnorePeerCertificate -} TLSCertificateVerificationType; - -#define TLS_SEED_FILE @"/tmp/OsiriXTLSSeed" -#define TLS_WRITE_SEED_FILE "/tmp/OsiriXTLSSeedWrite" -#define TLS_PRIVATE_KEY_FILE @"/tmp/TLSKey" -#define TLS_CERTIFICATE_FILE @"/tmp/TLSCert" -#define TLS_TRUSTED_CERTIFICATES_DIR @"/tmp/TLSTrustedCert" -#define TLS_KEYCHAIN_IDENTITY_NAME_CLIENT @"com.osirixviewer.dicomtlsclient" -#define TLS_KEYCHAIN_IDENTITY_NAME_SERVER @"com.osirixviewer.dicomtlsserver" -#define TLS_PRIVATE_KEY_PASSWORD @"SuperSecretPassword" - -/** \brief - A utility class for secure DICOM connections with TLS. - It provides an access to Mac OS X Keychain. - */ -@interface DICOMTLS : NSObject { - -} - -#pragma mark Cipher Suites -/** - Returns the list of available Ciphersuites. - These are basically the one available through DCMTK. - */ -+ (NSArray*)availableCipherSuites; -+ (NSArray*)defaultCipherSuites; - -#pragma mark Keychain Access -+ (void)generateCertificateAndKeyForLabel:(NSString*)label withStringID:(NSString*)stringID; -+ (void)generateCertificateAndKeyForLabel:(NSString*)label; -+ (void)generateCertificateAndKeyForServerAddress:(NSString*)address port:(int)port AETitle:(NSString*)aetitle withStringID:(NSString*)stringID; -+ (void)generateCertificateAndKeyForServerAddress:(NSString*)address port:(int)port AETitle:(NSString*)aetitle; -+ (NSString*)uniqueLabelForServerAddress:(NSString*)address port:(NSString*)port AETitle:(NSString*)aetitle; -+ (NSString*)keyPathForLabel:(NSString*)label withStringID:(NSString*)stringID; -+ (NSString*)keyPathForLabel:(NSString*)label; -+ (NSString*)keyPathForServerAddress:(NSString*)address port:(int)port AETitle:(NSString*)aetitle withStringID:(NSString*)stringID; -+ (NSString*)keyPathForServerAddress:(NSString*)address port:(int)port AETitle:(NSString*)aetitle; -+ (NSString*)certificatePathForLabel:(NSString*)label withStringID:(NSString*)stringID; -+ (NSString*)certificatePathForLabel:(NSString*)label; -+ (NSString*)certificatePathForServerAddress:(NSString*)address port:(int)port AETitle:(NSString*)aetitle withStringID:(NSString*)stringID; -+ (NSString*)certificatePathForServerAddress:(NSString*)address port:(int)port AETitle:(NSString*)aetitle; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMToNSString.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMToNSString.h deleted file mode 100644 index 6daa671..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DICOMToNSString.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief Converts DICOM string to NSString */ - -#import - -@interface NSString (DICOMToNSString) - -- (id) initWithCString:(const char *)cString DICOMEncoding:(NSString *)encoding; -+ (id) stringWithCString:(const char *)cString DICOMEncoding:(NSString *)encoding; -+ (NSStringEncoding)encodingForDICOMCharacterSet:(NSString *)characterSet; - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DNDArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DNDArrayController.h deleted file mode 100644 index 2ad9240..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DNDArrayController.h +++ /dev/null @@ -1,33 +0,0 @@ - -#import -#import - - -/** \brief Network destination Array Controller for Q/R*/ -@interface DNDArrayController : NSArrayController -{ - IBOutlet NSTableView *tableView; - IBOutlet SFAuthorizationView *_authView; - - NSTableColumn *sortedColumn; -} - -// table view drag and drop support - -- (BOOL)tableView:(NSTableView *)tv writeRows:(NSArray*)rows toPasteboard:(NSPasteboard*)pboard; - -- (NSDragOperation)tableView:(NSTableView*)tv validateDrop:(id )info proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)op; - -- (BOOL)tableView:(NSTableView*)tv acceptDrop:(id )info row:(NSInteger)row dropOperation:(NSTableViewDropOperation)op; - - -// utility methods - --(void)moveObjectsInArrangedObjectsFromIndexes:(NSIndexSet *)indexSet - toIndex:(unsigned)index; - -- (NSIndexSet *)indexSetFromRows:(NSArray *)rows; -- (int)rowsAboveRow:(int)row inIndexSet:(NSIndexSet *)indexSet; -- (void) deleteSelectedRow:(id)sender; -- (NSTableView*) tableView; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkBox.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkBox.h deleted file mode 100644 index 2d979de..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkBox.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// - -#import - -/** \brief Draws a draw box for Preferences */ -@interface DarkBox : NSBox { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkPanel.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkPanel.h deleted file mode 100644 index 52d02f6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkPanel.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -/** \brief Experimental -*/ - - -#import - - -@interface DarkPanel : NSPanel { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkWindow.h deleted file mode 100644 index b44d89c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DarkWindow.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -/** \brief Experimental -*/ -#import - - -@interface DarkWindow : NSWindow { - -} -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DefaultsOsiriX.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DefaultsOsiriX.h deleted file mode 100644 index 8f9cd2d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DefaultsOsiriX.h +++ /dev/null @@ -1,43 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import - -// WARNING: If you add or modify this list, check ViewerController.m, DCMView.h and HotKey Pref Pane - -enum HotKeyActions {DefaultWWWLHotKeyAction = 0, FullDynamicWWWLHotKeyAction, - Preset1WWWLHotKeyAction, Preset2WWWLHotKeyAction, Preset3WWWLHotKeyAction, - Preset4WWWLHotKeyAction, Preset5WWWLHotKeyAction, Preset6WWWLHotKeyAction, - Preset7WWWLHotKeyAction, Preset8WWWLHotKeyAction, Preset9WWWLHotKeyAction, - FlipVerticalHotKeyAction, FlipHorizontalHotKeyAction, - WWWLToolHotKeyAction, MoveHotKeyAction, ZoomHotKeyAction, RotateHotKeyAction, - ScrollHotKeyAction, LengthHotKeyAction, AngleHotKeyAction, RectangleHotKeyAction, - OvalHotKeyAction, TextHotKeyAction, ArrowHotKeyAction, OpenPolygonHotKeyAction, - ClosedPolygonHotKeyAction, PencilHotKeyAction, ThreeDPointHotKeyAction, PlainToolHotKeyAction, - BoneRemovalHotKeyAction, Rotate3DHotKeyAction, Camera3DotKeyAction, scissors3DHotKeyAction, RepulsorHotKeyAction, SelectorHotKeyAction, EmptyHotKeyAction, UnreadHotKeyAction, ReviewedHotKeyAction, DictatedHotKeyAction, OrthoMPRCrossHotKeyAction}; - - -/** \brief Sets up user defaults */ -@interface DefaultsOsiriX : NSObject { - -} - -+ (BOOL) isHUG; -+ (BOOL) isUniGE; -+ (BOOL) isLAVIM; -+ (NSMutableDictionary*) getDefaults; -+ (NSString*) hostName; -+ (NSHost*) currentHost; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomDirParser.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomDirParser.h deleted file mode 100644 index 4438b7c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomDirParser.h +++ /dev/null @@ -1,33 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -@interface NSString(NumberStuff) -- (BOOL)holdsIntegerValue; -@end - -/** \brief Reads and parses DICOMDIRs */ - -@interface DicomDirParser : NSObject -{ - NSString *data, *dirpath; -} - -- (id) init:(NSString*) file; -- (void) parseArray:(NSMutableArray*) files; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomFileDCMTKCategory.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomFileDCMTKCategory.h deleted file mode 100644 index bc02c52..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomFileDCMTKCategory.h +++ /dev/null @@ -1,32 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "dicomFile.h" - -/** \brief C++ calls for DicomFile -* -* Some C++ header from DCMTK and other C++ libs can conflict with Objective C during compilation. -* Putting them in a separate category prevents compilation errors. -*/ - -@interface DicomFile (DicomFileDCMTKCategory) - -+ (NSArray*) getEncodingArrayForFile: (NSString*) file; -+ (BOOL) isDICOMFileDCMTK:(NSString *) file; /**< Check for validity of DICOM using DCMTK */ -+ (BOOL) isNRRDFile:(NSString *) file; /**< Test for NRRD file format */ - -- (short) getDicomFileDCMTK; /**< Decode DICOM using DCMTK. Returns 0 on success -1 on failure. */ -- (short) getNRRDFile; /**< decode NRRD file format. Returns 0 on success -1 on failure. */ -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomImage.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomImage.h deleted file mode 100644 index d6e8fa1..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomImage.h +++ /dev/null @@ -1,57 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -NSString* sopInstanceUIDDecode( unsigned char *r, int length); -void* sopInstanceUIDEncode( NSString *sopuid); - -@class DCMSequenceAttribute; - -/** \brief Core Data Entity for an image (frame) */ - -@interface DicomImage : NSManagedObject -{ - NSString *completePathCache; - - NSString *sopInstanceUID; - NSNumber *inDatabaseFolder; - NSNumber *height, *width; - NSNumber *numberOfFrames; - NSNumber *numberOfSeries; - NSNumber *mountedVolume; - NSNumber *isKeyImage, *dicomTime; - NSString *extension; - NSString *modality; - NSString *fileType; -} - -+ (NSData*) sopInstanceUIDEncodeString:(NSString*) s; -- (NSString*) uniqueFilename; -- (NSSet*) paths; -- (NSString*) completePath; -- (NSString*) completePathResolved; -- (void) clearCompletePathCache; -- (DCMSequenceAttribute*) graphicAnnotationSequence; -- (NSImage *)image; -- (NSImage *)thumbnail; -- (NSDictionary *)dictionary; -- (NSString*) completePathWithDownload:(BOOL) download; -+ (NSString*) dbPathForManagedContext: (NSManagedObjectContext *) c; -+ (NSString*) completePathForLocalPath:(NSString*) path directory:(NSString*) directory; -- (NSString*) SRFilenameForFrame: (int) frameNo; -- (NSString*) SRPathForFrame: (int) frameNo; -- (NSArray*) SRPaths; -- (NSString *)sopInstanceUID; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomImageDCMTKCategory.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomImageDCMTKCategory.h deleted file mode 100644 index ab18802..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomImageDCMTKCategory.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DicomImage.h" - -/** \brief DCMTK calls for Dicom Image */ -@interface DicomImage (DicomImageDCMTKCategory) - -- (NSString *)keyObjectType; -- (NSArray *)referencedObjects; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomSeries.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomSeries.h deleted file mode 100644 index b4d5b5d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomSeries.h +++ /dev/null @@ -1,32 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -/** \brief Core Data Entity for a Series */ - -@interface DicomSeries : NSManagedObject -{ - NSNumber *dicomTime; -} - -- (NSSet *)paths; -- (NSSet *)keyImages; -- (NSArray *)sortedImages; -- (NSDictionary *)dictionary; -- (NSComparisonResult)compareName:(DicomSeries*)series; -- (NSNumber *) noFilesExcludingMultiFrames; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomStudy.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomStudy.h deleted file mode 100644 index a6f7518..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DicomStudy.h +++ /dev/null @@ -1,47 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -/** \brief Core Data Entity for a Study */ -@interface DicomStudy : NSManagedObject -{ - BOOL isHidden; - NSNumber *dicomTime; -} - -+ (NSString*) soundex: (NSString*) s; -- (NSNumber *) noFiles; -- (NSSet *) paths; -- (NSSet *) keyImages; -- (NSArray *)imageSeries; -- (NSArray *)reportSeries; -- (NSArray *)structuredReports; -- (NSArray *)keyObjectSeries; -- (NSArray *)keyObjects; -- (NSArray *)presentationStateSeries; -- (NSArray *)waveFormSeries; -- (NSManagedObject *) roiSRSeries; -- (NSManagedObject *) reportSRSeries; -- (NSManagedObject *) commentAndStatusSRSeries; -- (void) syncReportAndComments; -- (NSDictionary *)dictionary; -- (BOOL) isHidden; -- (void) setHidden: (BOOL) h; -- (NSNumber *) noFilesExcludingMultiFrames; - -- (NSComparisonResult)compareName:(DicomStudy*)study; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DragMatrix.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DragMatrix.h deleted file mode 100644 index 71a53e9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DragMatrix.h +++ /dev/null @@ -1,49 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -/*****************************************************************************/ -/* DragMatrix */ - /** \brief A matrix of image cells with reordering - * - * This calls allows you to create a matrix of image cells that can be - * reordered (similar to object in an outline view). To use this class - * add it to your project. In InterfaceBuilder create a matrix of - * ImageViews. In the properties pane go to custom class and set the class - * to DragMatrix. When a image is dragged this class sends a notification - * "DragMatrixImageMoved". The object is itself. The user info contains - * the following keys - * - "images" = Selected DicomImages - */ -/*****************************************************************************/ - -@interface DragMatrix : NSMatrix { - NSEvent * downEvent; - NSRect oldDrawRect, newDrawRect; - BOOL shouldDraw; - IBOutlet id arrayController; - NSArray *selection; - NSInteger srcRow, srcCol, dstRow, dstCol; -} -//- (void) setController:(id)controller; -// Private -- (NSEvent*) downEvent; -- (void) setDownEvent:(NSEvent *)event; -- (void) clearDragDestinationMembers; --(NSArray *)selection; - -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DragMatrixWithDelete.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DragMatrixWithDelete.h deleted file mode 100644 index eb225a1..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/DragMatrixWithDelete.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "DragMatrix.h" - - - /** \brief A matrix of image cells with reordering and deletion */ - - -@interface DragMatrixWithDelete : DragMatrix { - -} - - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyFlyThruController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyFlyThruController.h deleted file mode 100644 index c7170fc..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyFlyThruController.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "FlyThruController.h" - - -@class EndoscopyVRController; -@class EndoscopyViewer; - -/** \brief Manages the GUI for Endoscopy FlyThru -* -* Window controller for Endoscopy flythrus -* Subclass of Flythru Controller. -* Single property is NSMutableArray *seeds -*/ - -@interface EndoscopyFlyThruController : FlyThruController { - NSMutableArray *seeds; - -} - -@property (readwrite, retain) NSMutableArray *seeds; - -- (void)compute; -- (IBAction)calculate: (id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyMPRView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyMPRView.h deleted file mode 100644 index 5cf7458..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyMPRView.h +++ /dev/null @@ -1,55 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "OrthogonalMPRController.h" -#import "OrthogonalMPRView.h" - -/** \brief MPR views for endoscopy -*/ - -@interface EndoscopyMPRView : OrthogonalMPRView { - NSPoint cameraPosition, cameraFocalPoint; - float cameraAngle; - long focalPointX, focalPointY, focalShiftX, focalShiftY, near, maxFocalLength; - long viewUpX, viewUpY; -} - - -- (void) setCameraPosition: (float) x : (float) y; -- (NSPoint) cameraPosition; -- (void) setCameraFocalPoint: (float) x : (float) y; -- (NSPoint) cameraFocalPoint; -- (void) setCameraAngle: (float) alpha; -- (float) cameraAngle; - -- (void) setFocalPointX: (long) x; -- (void) setFocalPointY: (long) y; -- (long) focalPointX; -- (long) focalPointY; -- (void) setFocalShiftX: (long) x; -- (void) setFocalShiftY: (long) y; -- (long) focalShiftX; -- (long) focalShiftY; - -- (void) setViewUpX: (long) x; -- (void) setViewUpY: (long) y; -- (long) viewUpX; -- (long) viewUpY; - --(unsigned char*) superGetRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopySegmentationController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopySegmentationController.h deleted file mode 100644 index 6c2f1e4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopySegmentationController.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - - - -#import -#import "OSIVoxel.h" - -@class ViewerController; - -/** \brief Window Controller for Centerline segementation. -* -* Window Controller for Centerline segementation -* DEPRECATED -- PLANNED FOR DELETION -*/ -@interface EndoscopySegmentationController : NSWindowController { - ViewerController *_viewer, *_resultsViewer; - NSMutableArray *_seeds; - NSPoint _startingPoint; -} - -- (NSArray *)seeds; -- (void)addSeed:(id)seed; -- (IBAction)calculate: (id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyVRController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyVRController.h deleted file mode 100644 index 0c17a58..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyVRController.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "VRController.h" - -/** \brief Controller for the VRView in the Endoscopy Window -*/ - - -@interface EndoscopyVRController : VRController { - -} - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyVRView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyVRView.h deleted file mode 100644 index 18e08e4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyVRView.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "VRView.h" - -/** \brief VRview for Endoscopy -*/ -@interface EndoscopyVRView : VRView { - -} - -- (void) setShadingValues:(float) ambient :(float) diffuse :(float) specular :(float) specularpower; --(unsigned char*) superGetRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyViewer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyViewer.h deleted file mode 100644 index 79a7d29..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/EndoscopyViewer.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "OrthogonalMPRController.h" -#import "VRController.h" -#import "EndoscopyVRController.h" -#import "Camera.h" -#import "OSIWindowController.h" - -@class OSIVoxel; - -/** \brief Window Controller for Endoscopy -*/ - - -@interface EndoscopyViewer : OSIWindowController -{ - IBOutlet OrthogonalMPRController *mprController; - IBOutlet EndoscopyVRController *vrController; - NSMutableArray *pixList; - - IBOutlet NSSplitView *topSplitView, *bottomSplitView; - - NSToolbar *toolbar; - IBOutlet NSView *tools3DView, *tools2DView, *engineView, *shadingView, *LODView; - IBOutlet NSMatrix *tools3DMatrix, *tools2DMatrix; - - IBOutlet NSView *WLWW3DView, *WLWW2DView; - IBOutlet NSPopUpButton *wlww2DPopup, *clut2DPopup; - - NSString *cur2DWLWWMenu, *cur2DCLUTMenu; - - IBOutlet NSWindow *exportDCMWindow; - IBOutlet NSMatrix *exportDCMViewsChoice; - IBOutlet NSTextField *exportDCMSeriesName; - - BOOL exportAllViews; -} - - -@property(readonly) EndoscopyVRController *vrController; - -- (id) initWithPixList: (NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ViewerController*) bC : (ViewerController*) vC; -- (BOOL) is2DViewer; -- (NSMutableArray*) pixList; -//- (IBAction) centerline: (id) sender; -- (void) setCameraRepresentation: (NSNotification*) note; -- (void) setCameraRepresentation; -- (void) setCameraPositionRepresentation: (Camera*) aCamera; -- (void) setCameraFocalPointRepresentation: (Camera*) aCamera; -- (void) setCameraViewUpRepresentation: (Camera*) aCamera; -- (void) setCamera; -- (void) setupToolbar; -- (void) Apply2DCLUT:(id) sender; -- (void) setCameraPosition:(OSIVoxel *)position focalPoint:(OSIVoxel *)focalPoint; - - -#pragma mark- -#pragma mark VR Viewer methods -- (void) ApplyWLWW:(id) sender; - -#pragma mark- -#pragma mark Tools Selection -- (IBAction) change2DTool:(id) sender; -- (IBAction) change3DTool:(id) sender; -#pragma mark- -#pragma mark NSSplitview's delegate methods -- (void)splitViewDidResizeSubviews:(NSNotification *)aNotification; - -#pragma mark- -#pragma mark export -- (IBAction) setExportAllViews: (id) sender; -- (BOOL) exportAllViews; -- (void) exportDICOMFile:(id) sender; -- (IBAction) endDCMExportSettings:(id) sender; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FVTiff.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FVTiff.h deleted file mode 100644 index 4179222..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FVTiff.h +++ /dev/null @@ -1,87 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#ifndef FVTIFF_H -#define FVTIFF_H - -#import -#include "tiffio.h" - -#define TIFFTAG_FV_MMHEADER 34361 -#define TIFFTAG_FV_MMSTAMP 34362 -#define TIFFTAG_FV_USERBLOCK 34386 - -#define FV_IMAGE_NAME_LENGTH 256 -#define FV_SPATIAL_DIMENSION 10 -#define FV_DIMNAME_LENGTH 16 -#define FV_UNITS_LENGTH 64 - -extern void FVTIFFInitialize(void); - -typedef unsigned int FV_MM_HANDLE; // Size (bytes): 4 - -typedef struct -{ - char Name[FV_DIMNAME_LENGTH]; //Dimension name e.g. Width 16 - unsigned int Size; //Image width etc 4 - double Origin; //Origin 8 - double Resolution; //Image resolution 8 - char Units[FV_UNITS_LENGTH]; //Image calibration units 64 - -} FV_MM_DIM_INFO; // Total Size (bytes): 100 - - -static const TIFFFieldInfo FVTiffFieldInfo[] = { - { TIFFTAG_FV_MMHEADER, TIFF_VARIABLE, TIFF_VARIABLE, TIFF_BYTE, FIELD_CUSTOM, 1, 1, "FV_MMHEADER"}, - { TIFFTAG_FV_MMSTAMP, TIFF_VARIABLE, TIFF_VARIABLE, TIFF_BYTE, FIELD_CUSTOM, 1, 1, "FV_MMSTAMP"}, - { TIFFTAG_FV_USERBLOCK, TIFF_VARIABLE, TIFF_VARIABLE, TIFF_BYTE, FIELD_CUSTOM, 1, 1, "FV_USERBLOCK"}, -}; - -typedef struct // this is from the FV docs, but I think the docs are not quite right on - Joel -{ - short HeaderFlag; //Size of header structure 2 - unsigned char Status; //image status 1 - unsigned char ImageType; //Image Type 1 - char Name[FV_IMAGE_NAME_LENGTH]; //Image name 256 - FV_MM_HANDLE Data; //Handle to the data field 4 - unsigned int NumberOfColors; //Number of colors in palette 4 - FV_MM_HANDLE MM_256_Colors; //handle to the palette field 4 - FV_MM_HANDLE MM_All_Colors; //handle to the palette field 4 - unsigned int CommentSize; //Size of comments field 4 - FV_MM_HANDLE Comment; //handle to the comment field 4 - FV_MM_DIM_INFO DimInfo[FV_SPATIAL_DIMENSION]; //Dimension Info 1000 - FV_MM_HANDLE SpatialPosition; //obsolete??????????? 4 - short MapType; //Display mapping type 2 - short reserved; //Display mapping type 2 - double MapMin; //Display mapping minimum 8 - double MapMax; //Display mapping maximum 8 - double MinValue; //Image histogram minimum 8 - double MaxValue; //Image histogram maximum 8 - FV_MM_HANDLE Map; //Handle to gray level mapping array 4 - double Gamma; //Image gray level correction factor 8 - double Offset; //Image gray level correction offset 8 - FV_MM_DIM_INFO Gray; // 100 - FV_MM_HANDLE ThumbNail; //handle to the ThumbNail field 4 - unsigned int UserFieldSize; //Size of Voice field 4 - FV_MM_HANDLE UserFieldHandle; //handle to the Voice field 4 - -} FV_MM_HEAD; // Total Size (bytes): 1456 - -int FV_Read_MM_HEAD(const char* data, FV_MM_HEAD* head); -int FV_Read_DIM_INFO(const char* data, FV_MM_DIM_INFO* info); -NSXMLDocument* XML_from_FVTiff(NSString* srcFile); - -void FV_EMPTY_TIFFWarning(const char *module, const char *fmt, ...); - -#endif diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThru.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThru.h deleted file mode 100644 index 7b64b7e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThru.h +++ /dev/null @@ -1,58 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "Camera.h" -#import "Interpolation3D.h" - -/** \brief Manages 3D flythrus -*/ - -@interface FlyThru : NSObject { - NSMutableArray *stepCameras, *pathCameras, *stepsPositionInPath; - int numberOfFrames; - int interpolationMethod; // 1: spline / 2: piecewise - BOOL constantSpeed, loop; - -} - -@property (readwrite, retain) NSMutableArray *steps; -@property (readwrite, retain) NSMutableArray *pathCameras; -@property (readwrite, retain) NSMutableArray *stepsPositionInPath; -@property int numberOfFrames; -@property int interpolationMethod; - -@property BOOL constantSpeed; -@property BOOL loop; - - -// steps (cameras choosed by the user) --(id) initWithFirstCamera: (Camera*) sCamera; --(void) addCamera: (Camera*) aCamera; --(void) addCamera: (Camera*) aCamera atIndex: (int) index; --(void) removeCameraAtIndex: (int) index; --(void) removeAllCamera; - - - --(void) computePath; // interpollation of the path for every parameters --(NSMutableArray*) path: (NSMutableArray*) pts : (int) interpolMeth : (BOOL) computeStepsPositions; // interpollation for 1 parameter - --(NSMutableDictionary*) exportToXML; --(void) setFromDictionary: (NSDictionary*) xml; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruAdapter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruAdapter.h deleted file mode 100644 index b6a4ca0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruAdapter.h +++ /dev/null @@ -1,43 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - - -#import -#import "Camera.h" -#import "Window3DController.h" - -/** \brief Adapter for FlyThru -* -* Adaptor FlyThru -* Subclassed for SR, VR, VRPro -*/ - -@interface FlyThruAdapter : NSObject { - - Window3DController *controller; - -} - -- (id) initWithWindow3DController: (Window3DController*) aWindow3DController; -- (Camera*) getCurrentCamera; -- (void) setCurrentViewToCamera:(Camera*)aCamera; -- (NSImage*) getCurrentCameraImage:(BOOL) highQuality; -- (void) prepareMovieGenerating; -- (void) endMovieGenerating; -- (void) setCurrentViewToLowResolutionCamera:(Camera*)aCamera; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruController.h deleted file mode 100644 index efe78fc..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruController.h +++ /dev/null @@ -1,108 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "FlyThru.h" -#import "FlyThruAdapter.h" -#import "Window3DController.h" -#import "QuicktimeExport.h" -#import "FlyThruStepsArrayController.h" - -/** \brief Window Controller for FlyThru -*/ - -@interface FlyThruController : NSWindowController { - - IBOutlet NSMatrix *LOD; - IBOutlet NSBox *boxPlay; - IBOutlet NSBox *boxExport; - IBOutlet NSBox *boxCompute; - - IBOutlet NSTabView *tabView; - IBOutlet NSTableView *FTview; - IBOutlet NSTableColumn *colCamNumber; - IBOutlet NSTableColumn *colCamPreview; - - IBOutlet NSMatrix *methodChooser; - IBOutlet NSButton *computeButton; - - IBOutlet NSSlider *framesSlider; - IBOutlet NSButton *playButton; - - - IBOutlet NSTextField *MatrixSize; - IBOutlet NSTextField *numberOfFramesTextField; - IBOutlet NSPopUpButton *MatrixSizePopup; - - NSPoint boxPlayOrigin; - NSRect windowFrame; - - IBOutlet NSButton *exportButton; - IBOutlet FlyThruStepsArrayController *stepsArrayController; - - FlyThru *flyThru; - Window3DController *controller3D; - FlyThruAdapter *FTAdapter; // link between abstract fly thru and concret 3D world (such as VR, SR, ...) - - NSTimer *movieTimer; - NSTimeInterval lastMovieTime; - int curMovieIndex; - BOOL hidePlayBox; - BOOL hideComputeBox; - BOOL hideExportBox; - BOOL enableRenderingType; - int exportFormat; - int levelOfDetailType; - int exportSize; - - IBOutlet NSButton *exportButtonOption; - NSString *dcmSeriesName; - int tabIndex; - -} - -@property (readwrite, retain) FlyThru *flyThru; -@property BOOL hidePlayBox; -@property BOOL hideComputeBox; -@property BOOL hideExportBox; -@property int exportFormat; -@property (readwrite, copy) NSString *dcmSeriesName; -@property int levelOfDetailType; -@property int exportSize; -@property (readonly) Camera *currentCamera; -@property (readonly) FlyThruStepsArrayController *stepsArrayController; -@property (readwrite, retain) FlyThruAdapter *FTAdapter; -@property int curMovieIndex; -@property int tabIndex; - -- (void)setWindow3DController:(Window3DController*) w3Dc; -- (Window3DController*)window3DController; -- (id) initWithFlyThruAdapter:(FlyThruAdapter*)aFlyThruAdapter; -- (void)windowWillClose:(NSNotification *)notification; -- (void) dealloc; -- (IBAction) flyThruSetCurrentView:(id) sender; -- (IBAction) flyThruCompute:(id) sender; -- (void) flyThruPlayStop:(id) sender; -- (void) performMovieAnimation:(id) sender; -- (IBAction) flyThruQuicktimeExport :(id) sender; -- (NSImage*) imageForFrame:(NSNumber*) cur maxFrame:(NSNumber*) max; -- (void) updateThumbnails; -- (NSButton*) exportButtonOption; -- (void)setCurMovieIndex:(int)index; -- (Camera *)currentCamera; -- (void)setupController; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruStepsArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruStepsArrayController.h deleted file mode 100644 index 91b3094..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruStepsArrayController.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright(c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@class FlyThruController; - - -/** \brief Manages the array of FlyThru steps -* -* A subclass of NSArrayController used to manage the steps of the flythru. -* Each step consists of a Camera -- See Camera.h -* Uses the usual NSArrayController methods. -*/ - - -@interface FlyThruStepsArrayController : NSArrayController { - IBOutlet FlyThruController *flyThruController; - IBOutlet NSTableView *tableview; -} - -- (IBAction) flyThruButton:(id) sender; -- (void) flyThruTag:(int) x; -- (void) resetCameraIndexes; -- (IBAction)updateCamera:(id)sender; -- (IBAction)resetCameras:(id)sender; -- (void) keyDown:(NSEvent *)theEvent; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruTableView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruTableView.h deleted file mode 100644 index b527422..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/FlyThruTableView.h +++ /dev/null @@ -1,30 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright(c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -/** \brief TableView for FlyThru steps -* -* TableView subclass to manage drag and drop ofsteps -* for Flythrus -*/ - - -@interface FlyThruTableView : NSTableView { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/GLString.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/GLString.h deleted file mode 100644 index 7124773..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/GLString.h +++ /dev/null @@ -1,128 +0,0 @@ -// -// File: GLString.h -// (Originally StringTexture.h) -// -// Abstract: Uses Quartz to draw a string into an OpenGL texture -// -// Version: 1.1 - Minor enhancements and bug fixes. -// 1.0 - Original release. -// -// -// Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ("Apple") -// in consideration of your agreement to the following terms, and your use, -// installation, modification or redistribution of this Apple software -// constitutes acceptance of these terms. If you do not agree with these -// terms, please do not use, install, modify or redistribute this Apple -// software. -// -// In consideration of your agreement to abide by the following terms, and -// subject to these terms, Apple grants you a personal, non - exclusive -// license, under Apple's copyrights in this original Apple software ( the -// "Apple Software" ), to use, reproduce, modify and redistribute the Apple -// Software, with or without modifications, in source and / or binary forms; -// provided that if you redistribute the Apple Software in its entirety and -// without modifications, you must retain this notice and the following text -// and disclaimers in all such redistributions of the Apple Software. Neither -// the name, trademarks, service marks or logos of Apple Inc. may be used to -// endorse or promote products derived from the Apple Software without specific -// prior written permission from Apple. Except as expressly stated in this -// notice, no other rights or licenses, express or implied, are granted by -// Apple herein, including but not limited to any patent rights that may be -// infringed by your derivative works or by other works in which the Apple -// Software may be incorporated. -// -// The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO -// WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED -// WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A -// PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION -// ALONE OR IN COMBINATION WITH YOUR PRODUCTS. -// -// IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR -// CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION -// AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER -// UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR -// OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Copyright ( C ) 2003-2007 Apple Inc. All Rights Reserved. -// - -#import -#import -#import -#import -#import - -@interface NSBezierPath (RoundRect) -+ (NSBezierPath *)bezierPathWithRoundedRect:(NSRect)rect cornerRadius:(float)radius; - -- (void)appendBezierPathWithRoundedRect:(NSRect)rect cornerRadius:(float)radius; -@end - -@interface GLString : NSObject { - CGLContextObj cgl_ctx; // current context at time of texture creation - GLuint texName; - NSSize texSize; - - NSAttributedString * string; - NSColor * textColor; // default is opaque white - NSColor * boxColor; // default transparent or none - NSColor * borderColor; // default transparent or none - BOOL staticFrame; // default in NO - BOOL antialias; // default to YES - NSSize marginSize; // offset or frame size, default is 4 width 2 height - NSSize frameSize; // offset or frame size, default is 4 width 2 height - float cRadius; // Corner radius, if 0 just a rectangle. Defaults to 4.0f - NSBitmapImageRep * bitmap; - - BOOL requiresUpdate; -} - -// this API requires a current rendering context and all operations will be performed in regards to thar context -// the same context should be current for all method calls for a particular object instance - -// designated initializer -- (id) initWithAttributedString:(NSAttributedString *)attributedString withTextColor:(NSColor *)color withBoxColor:(NSColor *)color withBorderColor:(NSColor *)color; - -- (id) initWithString:(NSString *)aString withAttributes:(NSDictionary *)attribs withTextColor:(NSColor *)color withBoxColor:(NSColor *)color withBorderColor:(NSColor *)color; - -// basic methods that pick up defaults -- (id) initWithString:(NSString *)aString withAttributes:(NSDictionary *)attribs; -- (id) initWithAttributedString:(NSAttributedString *)attributedString; - -- (void) dealloc; - -- (GLuint) texName; // 0 if no texture allocated -- (NSSize) texSize; // actually size of texture generated in texels, (0, 0) if no texture allocated - -- (NSColor *) textColor; // get the pre-multiplied default text color (includes alpha) string attributes could override this -- (NSColor *) boxColor; // get the pre-multiplied box color (includes alpha) alpha of 0.0 means no background box -- (NSColor *) borderColor; // get the pre-multiplied border color (includes alpha) alpha of 0.0 means no border -- (BOOL) staticFrame; // returns whether or not a static frame will be used - -- (NSSize) frameSize; // returns either dynamc frame (text size + margins) or static frame size (switch with staticFrame) - -- (NSSize) marginSize; // current margins for text offset and pads for dynamic frame - -- (void) genTexture; // generates the texture without drawing texture to current context -- (void) drawWithBounds:(NSRect)bounds; // will update the texture if required due to change in settings (note context should be setup to be orthographic scaled to per pixel scale) -- (void) drawAtPoint:(NSPoint)point; - -// these will force the texture to be regenerated at the next draw -- (void) setMargins:(NSSize)size; // set offset size and size to fit with offset -- (void) useStaticFrame:(NSSize)size; // set static frame size and size to frame -- (void) useDynamicFrame; // set static frame size and size to frame - -- (void) setString:(NSAttributedString *)attributedString; // set string after initial creation -- (void) setString:(NSString *)aString withAttributes:(NSDictionary *)attribs; // set string after initial creation - -- (void) setTextColor:(NSColor *)color; // set default text color -- (void) setBoxColor:(NSColor *)color; // set default text color -- (void) setBorderColor:(NSColor *)color; // set default text color - -- (BOOL) antialias; -- (void) setAntialias:(bool)request; - -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HangingProtocolController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HangingProtocolController.h deleted file mode 100644 index 7e26142..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HangingProtocolController.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// Hanging Protocol Controller manages the current Active Advanced Hanging Protocol. -#import - -@class LayoutWindowController; -@class LayoutArrayController; -@interface HangingProtocolController : NSObjectController { - IBOutlet LayoutWindowController *_layoutWindowController; - IBOutlet LayoutArrayController *_layoutArrayController; -} - - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HistoView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HistoView.h deleted file mode 100644 index cf52266..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HistoView.h +++ /dev/null @@ -1,49 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -@class ROI; - -/** \brief View for histogram display */ - -@interface HistoView : NSView -{ - float *dataArray; - long dataSize, bin, curMousePosition, pixels, minV, maxV; - float maxValue; - ROI *curROI; - NSColor *backgroundColor, *binColor, *selectedBinColor, *textColor, *borderColor; -} -- (void)setData:(float*)array :(long) size :(long) b; -- (void)setMaxValue:(float)value :(long) pixels; -- (void)setCurROI: (ROI*) r; -- (void)setRange:(long) mi :(long) max; - -- (NSColor*)backgroundColor; -- (NSColor*)binColor; -- (NSColor*)selectedBinColor; -- (NSColor*)textColor; -- (NSColor*)borderColor; - -- (void)setBackgroundColor:(NSColor*)aColor; -- (void)setBinColor:(NSColor*)aColor; -- (void)setSelectedBinColor:(NSColor*)aColor; -- (void)setTextColor:(NSColor*)aColor; -- (void)setBorderColor:(NSColor*)aColor; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HistogramWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HistogramWindow.h deleted file mode 100644 index 1a00867..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HistogramWindow.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "ROI.h" -#import "HistoView.h" - -#define HISTOSIZE 512 - -/** \brief Window Controller for histogram display */ - -@interface HistoWindow : NSWindowController { - - ROI *curROI; - - float *data, histoData[ HISTOSIZE], maxValue, minValue; - long dataSize; - - IBOutlet HistoView *histo; - IBOutlet NSSlider *binSlider; - IBOutlet NSTextField *binText, *maxText; -} - -- (id) initWithROI: (ROI*) iroi; -- (ROI*) curROI; -- (IBAction) changeBin: (id) sender; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HornRegistration.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HornRegistration.h deleted file mode 100644 index 06f3b39..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/HornRegistration.h +++ /dev/null @@ -1,36 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - - -#import - -/** \brief VTK horn registration */ - - -@interface HornRegistration : NSObject { - NSMutableArray *modelPoints, *sensorPoints; - double *adRot, *adTrans; -} - -- (void) addModelPointX: (double) x Y: (double) y Z: (double) z; -- (void) addSensorPointX: (double) x Y: (double) y Z: (double) z; -- (void) addModelPoint: (double*) point; -- (void) addSensorPoint: (double*) point; -- (short) numberOfPoint; -- (void) computeVTK:(double*) matrixResult; - -- (double*) rotation; -- (double*) translation; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/IChatTheatreDelegate.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/IChatTheatreDelegate.h deleted file mode 100644 index 830a7e4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/IChatTheatreDelegate.h +++ /dev/null @@ -1,65 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -/** \brief Delegate for managing iChat Theatre */ - -@interface IChatTheatreDelegate : NSObject { - BOOL _hasChanged; - IBOutlet WebView *web; -} - -@property(readonly) WebView *web; - -/** Shared delegate for iChat Theater */ -+ (IChatTheatreDelegate*) sharedDelegate; - -/** Release the shared delegate */ -+ (void) releaseSharedDelegate; - -/** Notification sent iChat Theater state has changed */ -- (void)_stateChanged:(NSNotification *)aNotification; - -/** Flag to indicate if iChat Theater is running */ -- (BOOL)isIChatTheatreRunning; - -/** Set the window to use as the data source */ -- (void)setVideoDataSource:(NSWindow*)window; - - -/** draw image for iChat Theater -* We synchronise to make sure we're not drawing in two threads -* simultaneously. */ -- (void)drawImage:(NSImage *)image inBounds:(NSRect)rect; - - -/** The _hasChanged flag is set to 'NO' after any check (by a client of this -* class), and 'YES' after a frame is drawn that is not identical to the -* previous one (in the drawInBounds: method). -* Returns the current state of the flag, and sets it to the passed in value. -*/ -- (BOOL)_checkHasChanged:(BOOL)flag; - - - -/** Calling with 'NO' clears _hasChanged after the call (see above). -*/ -- (BOOL)checkHasChanged; - -/** Show help window for iChat theater */ -- (void)showIChatHelp; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/IChatTheatreHelpWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/IChatTheatreHelpWindowController.h deleted file mode 100644 index 9f60e1c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/IChatTheatreHelpWindowController.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief Window Controller for iChat Theatre Help Window*/ -@interface IChatTheatreHelpWindowController : NSWindowController { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ISO8601DateFormatter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ISO8601DateFormatter.h deleted file mode 100644 index 073e3ca..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ISO8601DateFormatter.h +++ /dev/null @@ -1,71 +0,0 @@ -/*ISO8601DateFormatter.h - * - *Created by Peter Hosey on 2009-04-11. - *Copyright 2009 Peter Hosey. All rights reserved. - */ - -#import - -/*This class converts dates to and from ISO 8601 strings. A good introduction to ISO 8601: - * - *Parsing can be done strictly, or not. When you parse loosely, leading whitespace is ignored, as is anything after the date. - *The loose parser will return an NSDate for this string: @" \t\r\n\f\t 2006-03-02!!!" - *Leading non-whitespace will not be ignored; the string will be rejected, and nil returned. See the README that came with this addition. - * - *The strict parser will only accept a string if the date is the entire string. The above string would be rejected immediately, solely on these grounds. - *Also, the loose parser provides some extensions that the strict parser doesn't. - *For example, the standard says for "-DDD" (an ordinal date in the implied year) that the logical representation (meaning, hierarchically) would be "--DDD", but because that extra hyphen is "superfluous", it was omitted. - *The loose parser will accept the extra hyphen; the strict parser will not. - *A full list of these extensions is in the README file. - */ - -/*The format to either expect or produce. - *Calendar format is YYYY-MM-DD. - *Ordinal format is YYYY-DDD, where DDD ranges from 1 to 366; for example, 2009-32 is 2009-02-01. - *Week format is YYYY-Www-D, where ww ranges from 1 to 53 (the 'W' is literal) and D ranges from 1 to 7; for example, 2009-W05-07. - */ -enum { - ISO8601DateFormatCalendar, - ISO8601DateFormatOrdinal, - ISO8601DateFormatWeek, -}; -typedef NSUInteger ISO8601DateFormat; - -//The default separator for time values. Currently, this is ':'. -extern unichar ISO8601DefaultTimeSeparatorCharacter; - -@interface ISO8601DateFormatter: NSFormatter -{ - NSTimeZone *defaultTimeZone; - ISO8601DateFormat format; - unichar timeSeparator; - BOOL includeTime; - BOOL parsesStrictly; -} - -@property(retain) NSTimeZone *defaultTimeZone; - -#pragma mark Parsing - -//As a formatter, this object converts strings to dates. - -@property BOOL parsesStrictly; - -- (NSDateComponents *) dateComponentsFromString:(NSString *)string; -- (NSDateComponents *) dateComponentsFromString:(NSString *)string timeZone:(out NSTimeZone **)outTimeZone; -- (NSDateComponents *) dateComponentsFromString:(NSString *)string timeZone:(out NSTimeZone **)outTimeZone range:(out NSRange *)outRange; - -- (NSDate *) dateFromString:(NSString *)string; -- (NSDate *) dateFromString:(NSString *)string timeZone:(out NSTimeZone **)outTimeZone; -- (NSDate *) dateFromString:(NSString *)string timeZone:(out NSTimeZone **)outTimeZone range:(out NSRange *)outRange; - -#pragma mark Unparsing - -@property ISO8601DateFormat format; -@property BOOL includeTime; -@property unichar timeSeparator; - -- (NSString *) stringFromDate:(NSDate *)date; -- (NSString *) stringFromDate:(NSDate *)date timeZone:(NSTimeZone *)timeZone; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITK.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITK.h deleted file mode 100644 index 0765243..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITK.h +++ /dev/null @@ -1,58 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - - -#import - -typedef float itkPixelType; -//typedef itk::RGBPixel itkPixelType; -typedef itk::Image< itkPixelType, 3 > ImageType; -typedef itk::ImportImageFilter< itkPixelType, 3 > ImportFilterType; - - -/** \brief Creates an itkImageImportFilter -*/ - -@interface ITK : NSObject { - - // ITK objects - ImportFilterType::Pointer importFilter; -} - -#ifdef id -#define redefineID -#undef id -#endif - - -- (id) initWith :(NSArray*) pix :(float*) srcPtr :(long) slice; -- (id) initWithPix :(NSArray*) pix volume:(float*) volumeData sliceCount:(long) slice resampleData:(BOOL)resampleData; - -#ifdef redefineID -#define id Id -#undef redefineID -#endif - -- (ImportFilterType::Pointer) itkImporter; -- (void)setupImportFilterWithSize:(ImportFilterType::SizeType)size - origin:(double[3])origin - spacing:(double[3])spacing - data:(float *)data - filterWillOwnBuffer:(BOOL)filterWillOwnBuffer; - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKBrushROIFilter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKBrushROIFilter.h deleted file mode 100644 index 3724bfe..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKBrushROIFilter.h +++ /dev/null @@ -1,36 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import - -@class ROI; - -/** \brief Filters brush ROIs -* -* Filters brush ROI -* Erode, dilate, open, close -*/ - -@interface ITKBrushROIFilter : NSObject { - -unsigned char *kernelDilate, *kernelErode; -} - -// filters -- (void) erode:(ROI*)aROI withStructuringElementRadius:(int)structuringElementRadius; -- (void) dilate:(ROI*)aROI withStructuringElementRadius:(int)structuringElementRadius; -- (void) close:(ROI*)aROI withStructuringElementRadius:(int)structuringElementRadius; -- (void) open:(ROI*)aROI withStructuringElementRadius:(int)structuringElementRadius; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKSegmentation3D.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKSegmentation3D.h deleted file mode 100644 index c84c655..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKSegmentation3D.h +++ /dev/null @@ -1,61 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#ifdef __cplusplus -#define id Id - #include "itkImage.h" - #include "itkImportImageFilter.h" -#undef id -#import "ITK.h" -#else -@class ITK; -#endif - -@class ViewerController; - - -/** \brief ITK based segmentation for region growing -*/ -@interface ITKSegmentation3D : NSObject { - - ITK *itkImage; - BOOL _resampledData; - -} - -#ifdef id -#define redefineID -#undef id -#endif - -+ (NSArray*) fastGrowingRegionWithVolume: (float*) volume width:(long) w height:(long) h depth:(long) depth seedPoint:(long*) seed from:(float) from pixList:(NSArray*) pixList; -- (id) initWith :(NSMutableArray*) pix :(float*) volumeData :(long) slice; -- (id) initWithPix :(NSMutableArray*) pix volume:(float*) volumeData slice:(long) slice resampleData:(BOOL)resampleData; -- (void) regionGrowing3D:(ViewerController*) srcViewer :(ViewerController*) destViewer :(long) slice :(NSPoint) startingPoint :(int) algorithmNumber :(NSArray*) parameters :(BOOL) setIn :(float) inValue :(BOOL) setOut :(float) outValue :(int) roiType :(long) roiResolution :(NSString*) newname :(BOOL) mergeWithExistingROIs; -// extract lumen for Centerline calculation -//- (NSArray *)endoscopySegmentationForViewer:(ViewerController*) srcViewer seeds:(NSArray *)seeds; -+ (NSMutableArray*) extractContour:(unsigned char*) map width:(long) width height:(long) height; -+ (NSMutableArray*) extractContour:(unsigned char*) map width:(long) width height:(long) height numPoints:(long) numPoints; -+ (NSMutableArray*) extractContour:(unsigned char*) map width:(long) width height:(long) height numPoints:(long) numPoints largestRegion:(BOOL) largestRegion; - -#ifdef redefineID -#define id Id -#undef redefineID -#endif - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKSegmentation3DController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKSegmentation3DController.h deleted file mode 100644 index 27b96fe..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKSegmentation3DController.h +++ /dev/null @@ -1,65 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -@class ViewerController; - - -/** \brief Segmentation WindowController -*/ - - -@interface ITKSegmentation3DController : NSWindowController { - - ViewerController *viewer, *resultsViewer; - - // parameters - IBOutlet NSBox *parametersBox; - IBOutlet NSMatrix *growingMode; - IBOutlet NSPopUpButton *algorithmPopup; - NSPoint startingPoint; - IBOutlet NSTextField *startingPointWorldPosition, *startingPointPixelPosition, *startingPointValue; - IBOutlet NSForm *params; - // results - IBOutlet NSBox *resultsBox; - IBOutlet NSMatrix *outputResult; - IBOutlet NSMatrix *pixelsSet; - IBOutlet NSMatrix *pixelsValue; - IBOutlet NSSlider *roiResolution; - IBOutlet NSTextField *newName; - - IBOutlet NSButton *computeButton; - - // Algorithms - NSArray *algorithms; - NSArray *parameters; - NSArray *defaultsParameters; - NSArray *urlHelp; -} -+ (id) segmentationControllerForViewer:(ViewerController*) v; - -- (IBAction) compute:(id) sender; -- (IBAction) preview:(id) sender; -- (id) initWithViewer:(ViewerController*) v; -- (ViewerController*) viewer; -- (IBAction) changeAlgorithm: (id) sender; -- (void) setNumberOfParameters: (int) n; - -- (IBAction) algorithmGetHelp:(id) sender; -- (void) fillAlgorithmPopup; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKTransform.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKTransform.h deleted file mode 100644 index b264db8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ITKTransform.h +++ /dev/null @@ -1,52 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import - -@class ViewerController; -@class DCMPix; - - -#ifdef __cplusplus -#import "ITK.h" -#else -@class ITK; -#endif - -#ifdef id -#define redefineID -#undef id -#endif - - -/** /brief ITK based affine transform */ - -@interface ITKTransform : NSObject { - ITK *itkImage; - ViewerController *originalViewer, *resultViewer; -} - -- (id) initWithViewer: (ViewerController *) viewer; -- (ViewerController*) computeAffineTransformWithParameters: (double*)theParameters resampleOnViewer:(ViewerController*)referenceViewer; -- (ViewerController*) createNewViewerWithBuffer:(float*)aBuffer length: (long) length resampleOnViewer:(ViewerController*)referenceViewer; - -+ (float*) resampleWithParameters: (double*)theParameters firstObject: (DCMPix*) firstObject firstObjectOriginal: (DCMPix*) firstObjectOriginal noOfImages: (int) noOfImages length: (long*) length itkImage: (ITK*) itkImage; -+ (float*) reorient2Dimage: (double*) theParameters firstObject: (DCMPix*) firstObject firstObjectOriginal: (DCMPix*) firstObjectOriginal length: (long*) length; - -#ifdef redefineID -#define id Id -#undef redefineID -#endif - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ImageAndTextCell.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ImageAndTextCell.h deleted file mode 100644 index 1c72fa8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ImageAndTextCell.h +++ /dev/null @@ -1,35 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -/** \brief Cell that can contain text and and image */ - -#import - -@interface ImageAndTextCell : NSTextFieldCell { -@private - NSImage *image, *lastImage, *lastImageAlternate; - BOOL clickedInLastImage; -} - -- (void)setImage:(NSImage *)anImage; -- (void)setLastImage:(NSImage *)anImage; -- (void)setLastImageAlternate:(NSImage *)anImage; -- (NSImage *)image; - -- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView; -- (NSSize)cellSize; -- (BOOL) clickedInLastImage; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Interpolation3D.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Interpolation3D.h deleted file mode 100644 index 99fab33..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Interpolation3D.h +++ /dev/null @@ -1,32 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - - - -#import -#import "Point3D.h" - -/** \brief Interpolates flight path between FlyThru steps -*/ - -@interface Interpolation3D : NSObject { -} - -- (void) addPoint: (float) t : (Point3D*) p; -- (Point3D*) evaluateAt: (float) t; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/JPEGExif.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/JPEGExif.h deleted file mode 100644 index 263332c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/JPEGExif.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief add exif to JPEG */ -@interface JPEGExif : NSObject { - -} - -+ (void) addExif:(NSURL*) url properties:(NSDictionary*) exifDict format: (NSString*) format; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KFSplitView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KFSplitView.h deleted file mode 100644 index bd16899..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KFSplitView.h +++ /dev/null @@ -1,71 +0,0 @@ -// -// KFSplitView.h -// KFSplitView v. 1.3, 11/27/2004 -// -// Copyright (c) 2003-2004 Ken Ferry. Some rights reserved. -// http://homepage.mac.com/kenferry/software.html -// -// This work is licensed under a Creative Commons license: -// http://creativecommons.org/licenses/by-nc/1.0/ -// -// Send me an email if you have any problems (after you've read what there is to read). -// -// You can reach me at kenferry at the domain mac.com. - -#import - -@interface KFSplitView:NSSplitView -{ - // retained - NSMutableSet *kfCollapsedSubviews; - NSMutableArray *kfDividerRects; - NSString *kfPositionAutosaveName; - NSCursor *kfIsVerticalResizeCursor; - NSCursor *kfNotIsVerticalResizeCursor; - - // not retained - NSCursor *kfCurrentResizeCursor; - NSUserDefaults *kfDefaults; - NSNotificationCenter *kfNotificationCenter; - BOOL kfIsVertical; - id kfDelegate; -} - -// sets the collapse-state of a subview, which is completely independent -// of that subview's frame (as in NSSplitView). (Sometime) after calling this -// you'll need to tell the splitview to resize its subviews. -// Normally, that would be this call: -// [kfSplitView resizeSubviewsWithOldSize:[kfSplitView bounds].size]; -- (void)setSubview:(NSView *)subview isCollapsed:(BOOL)flag; - -// To find documentation for these methods refer to Apple's NSWindow -// documentation for the corresponding methods (e.g. -setFrameAutosaveName:). -// To use an autosave name, call -setPositionAutosaveName: from the -awakeFromNib -// method of a controller. -+ (void)removePositionUsingName:(NSString *)name; -- (void)savePositionUsingName:(NSString *)name; -- (BOOL)setPositionUsingName:(NSString *)name; -- (BOOL)setPositionAutosaveName:(NSString *)name; -- (NSString *)positionAutosaveName; -- (void)setPositionFromPlistObject:(id)string; -- (id)plistObjectWithSavedPosition; -- (void)kfRecalculateDividerRects; - -@end - -@interface NSObject(KFSplitViewDelegate) - -// in notification argument 'object' will be sender, 'userInfo' will have key @"subview" -- (void)splitViewDidCollapseSubview:(NSNotification *)notification; -- (void)splitViewDidExpandSubview:(NSNotification *)notification; - -- (void)splitView:(id)sender didDoubleClickInDivider:(int)index; -- (void)splitView:(id)sender didFinishDragInDivider:(int)index; - -@end - -// notifications: 'object' will be sender, 'userInfo' will have key @"subview". -// The delegate is automatically registered to receive these notifications. -extern NSString* const KFSplitViewDidCollapseSubviewNotification; -extern NSString* const KFSplitViewDidExpandSubviewNotification; - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectController.h deleted file mode 100644 index 8e43637..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectController.h +++ /dev/null @@ -1,33 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief Window Controller for creating key Object Notes */ -@interface KeyObjectController : NSWindowController { - int _title; - NSString *_keyDescription; - id _study; - NSString *_seriesUID; -} - -- (id)initWithStudy:(id)study; -- (int)intTitle; -- (void)setIntTitle:(int)title; -- (NSString *) keyDescription; -- (void)setKeyDescription:(NSString *)keyDescription; - -- (IBAction)closeWindow:(id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectPopupController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectPopupController.h deleted file mode 100644 index d5ba7d9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectPopupController.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@class ViewerController; - -/** \brief Control for KeyObjectReport popup button*/ -@interface KeyObjectPopupController : NSObject { - NSArray *_reports; - NSMenu *_menu; - ViewerController *_viewerController; - NSPopUpButton *_popupButton; - id series; -} - -- (id)initWithViewerController:(ViewerController *)controller popup:(NSPopUpButton *)popupButton; -- (NSArray *)reports; -- (void)setReports:(NSArray *)reports; -- (NSMenu *)menu; -- (void)setMenu:(NSMenu *)menu; -- (void)willPopUp:(NSNotification *)note; -- (IBAction)useKeyObjectNote:(id)sender; - - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectReport.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectReport.h deleted file mode 100644 index 7bc9542..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/KeyObjectReport.h +++ /dev/null @@ -1,40 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -#undef verify -#include "dsrdoc.h" - -/** \brief DICOM key object note */ -@interface KeyObjectReport : NSObject { - id _study; - DSRDocument *_doc; - NSArray *_keyImages; - NSString *_keyDescription; - int _title; - NSString *_seriesUID; -} - - - (id) initWithStudy:(id)study - title:(int)title - description:(NSString *)keyDescription - seriesUID:(NSString *)seriesUID; - - (void)createKO; - - (BOOL)writeFileAtPath:(NSString *)path; - - (BOOL)writeHTMLAtPath:(NSString *)path; - - (NSString *)sopInstanceUID; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLDCMView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLDCMView.h deleted file mode 100644 index d4ce15f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLDCMView.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import -#import "DCMView.h" -#import "LLMPRViewer.h" - -@interface LLDCMView : DCMView { - IBOutlet LLMPRViewer *viewer; -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRController.h deleted file mode 100644 index 1c5cbd7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRController.h +++ /dev/null @@ -1,30 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "OrthogonalMPRController.h" - -@class LLMPRView; - -@interface LLMPRController : OrthogonalMPRController { - NSRange pixListRange; -} - -- (void)resliceFromNotification: (NSNotification*)notification; -- (void)shiftView:(OrthogonalMPRView*)view x:(int)deltaX y:(int)deltaY; -- (void)removeBonesAtX:(int)x y:(int)y fromView:(LLMPRView*)view; -- (void)setPixListRange:(NSRange)range; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRView.h deleted file mode 100644 index 87ac1b6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRView.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "OrthogonalMPRView.h" -#import "LLMPRViewer.h" - -@interface LLMPRView : OrthogonalMPRView { - IBOutlet LLMPRViewer* viewer; -} - --(long)thickSlabX; --(long)thickSlabY; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRViewer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRViewer.h deleted file mode 100644 index d932bd6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLMPRViewer.h +++ /dev/null @@ -1,123 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "OrthogonalMPRViewer.h" -#import "LLMPRController.h" -#import "DCMView.h" -#import "LLScoutViewer.h" - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" - -@class LLDCMView; - -@interface LLMPRViewer : OrthogonalMPRViewer { - IBOutlet LLMPRController *injectedMPRController; - IBOutlet LLDCMView *subtractedOriginalView, *subtractedXReslicedView, *subtractedYReslicedView; - float *subtractedOriginalBuffer, *subtractedXReslicedBuffer, *subtractedYReslicedBuffer; - int xShift, yShift, zShift; - ViewerController *notInjectedViewer; - short thickSlabMode, thickSlab; - NSRange pixListRange; - LLScoutViewer *scoutViewer; - IBOutlet NSPopUpButton *thickSlabModePopUp; - IBOutlet NSPanel *parametersPanel; - IBOutlet NSTextField *injectedMinValueTextField, *injectedMaxValueTextField, *notInjectedMinValueTextField, *notInjectedMaxValueTextField, *subtractionMinValueTextField, *subtractionMaxValueTextField; - IBOutlet NSSlider *injectedMinValueSlider, *injectedMaxValueSlider, *notInjectedMinValueSlider, *notInjectedMaxValueSlider, *subtractionMinValueSlider, *subtractionMaxValueSlider, *dilatationRadiusSlider, *closingRadiusSlider, *lowPassFilterSizeSlider; - int injectedMinValue, injectedMaxValue, notInjectedMinValue, notInjectedMaxValue, subtractionMinValue, subtractionMaxValue; - IBOutlet NSTextField *xShiftTextField, *yShiftTextField, *zShiftTextField; - IBOutlet NSTextField *dilatationRadiusTextField, *closingRadiusTextField, *lowPassFilterSizeTextField; - int dilatationRadius, closingRadius, lowPassFilterSize; - - IBOutlet NSButton *displayBonesButton; - BOOL displayBones; - IBOutlet NSSlider *bonesThresholdSlider; - IBOutlet NSTextField *bonesThresholdTextField; - int bonesThreshold; - - IBOutlet NSPopUpButton *settingsPopup; - NSString *settingsName; - IBOutlet NSWindow *settingsNameSheetWindow; - IBOutlet NSTextField *settingsNameTextField; - - IBOutlet NSPopUpButton *convolutionsPopup; - BOOL applyConvolution; - float convolutionKernel[25]; - NSString *convolutionName; -} - -- (id)initWithPixList:(NSArray*)pix:(NSArray*)pixToSubstract:(NSArray*)files:(NSData*)vData:(ViewerController*)vC:(ViewerController*)bC:(LLScoutViewer*)sV; -- (void)setPixListRange:(NSRange)range; -- (void)resliceFromNotification: (NSNotification*)notification; -- (void)changeWLWW:(NSNotification*)note; -- (void)_setThickSlabMode:(int)mode; -- (void)refreshSubtractedViews; -- (void)shiftSubtractionX:(int)deltaX y:(int)deltaY z:(int)deltaZ; -- (IBAction)resetShift:(id)sender; -- (void)resetShift; -- (void)applyShiftX:(int)x y:(int)y toBuffer:(float*)buffer withWidth:(int)width height:(int)height; -- (void)removeBonesAtX:(int)x y:(int)y z:(int)z; -- (void)resampleBuffer:(float*)buffer withWidth:(int)width height:(int)height factor:(float)factor inNewBuffer:(float*)newBuffer; -- (void)produceResultData:(NSMutableData**)volumeData pixList:(NSMutableArray*)pix; -- (void)produceResultInMemory:(id)sender; -- (void)produce3DResult:(id)sender; - -- (void)blendingPropagate:(LLDCMView*)sender; - -- (void)showParametersPanel:(id)sender; -- (IBAction)setParameterValue:(id)sender; -- (IBAction)resetParametersSliders:(id)sender; -//- (IBAction)defaultValuesParametersSliders:(id)sender; -//- (IBAction)saveParametersValuesAsDefault:(id)sender; -//- (void)setInitialDefaultParametersValues; -- (int)injectedMinValue; -- (int)injectedMaxValue; -- (int)notInjectedMinValue; -- (int)notInjectedMaxValue; -- (int)subtractionMinValue; -- (int)subtractionMaxValue; -- (void)setInjectedMinValue:(int)v; -- (void)setInjectedMaxValue:(int)v; -- (void)setNotInjectedMinValue:(int)v; -- (void)setNotInjectedMaxValue:(int)v; -- (void)setSubtractionMinValue:(int)v; -- (void)setSubtractionMaxValue:(int)v; - -- (IBAction)toggleDisplayBones:(id)sender; -- (IBAction)setBonesThreshold:(id)sender; - -- (IBAction)setDilatationRadius:(id)sender; -- (IBAction)setClosingRadius:(id)sender; - -- (IBAction)setLowPassFilterSize:(id)sender; -- (IBAction)applyConvolutionFilter:(id)sender; -- (void)applyConvolutionWithName:(NSString*)name; -- (void)buildConvolutionsMenu; - -- (void)initialDefaultSettings; -- (void)addCurrentSettings:(id)sender; -- (IBAction)cancelAddSettings:(id)sender; -- (IBAction)saveSettings:(id)sender; -- (void)saveSettingsAs:(NSString*)title; -- (IBAction)removeCurrentSettings:(id)sender; -- (void)removeSettingsWithTitle:(NSString*)title; -- (NSDictionary*)settingsForTitle:(NSString*)title; -- (void)applySettingsForTitle:(NSString*)title; -- (IBAction)applySettings:(id)sender; -- (void)buildSettingsMenu; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutOrthogonalReslice.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutOrthogonalReslice.h deleted file mode 100644 index 99eed72..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutOrthogonalReslice.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OrthogonalReslice.h" - -@interface LLScoutOrthogonalReslice : OrthogonalReslice { - -} - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutView.h deleted file mode 100644 index 57b2041..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutView.h +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OrthogonalMPRView.h" - -@interface LLScoutView : OrthogonalMPRView { - int topLimit, bottomLimit; - BOOL isFlipped, draggingTopLimit, draggingBottomLimit; -} - -- (void)setTopLimit:(int)newLimit; -- (void)setBottomLimit:(int)newLimit; -- (void)setIsFlipped:(BOOL)boo; -- (void)getOpenGLLimitPosition:(float*)positions; -- (void)drawArrowButtonAtPosition:(float)position; -- (NSRect)rectForArrowButtonAtIndex:(int)index; -- (NSRect)rectForLimitAtIndex:(int)index; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutViewer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutViewer.h deleted file mode 100644 index 5a5b6d5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLScoutViewer.h +++ /dev/null @@ -1,51 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OrthogonalMPRController.h" -#import "ViewerController.h" - -@class LLMPRViewer; -@class ViewerController; - -@interface LLScoutViewer : NSWindowController { - IBOutlet OrthogonalMPRController *mprController; - ViewerController *viewer, *blendingViewer; - int topLimit, bottomLimit; - LLMPRViewer *mprViewerTop, *mprVieweMiddle, *mprViewerBottom; - NSArray *dcmPixList, *dcmFileList; -} - -+ (BOOL)haveSamePixelSpacing:(NSArray*)pixA :(NSArray*)pixB; -+ (BOOL)haveSameImagesCount:(NSArray*)pixA :(NSArray*)pixB; -+ (BOOL)haveSameImagesLocations:(NSArray*)pixA :(NSArray*)pixB; -+ (BOOL)verifyRequiredConditions:(NSArray*)pixA :(NSArray*)pixB; - -- (id) initWithPixList: (NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ViewerController*) vC :(ViewerController*) bC; - -- (BOOL)is2DViewer; - -- (void)setTopLimit:(int)top bottomLimit:(int)bottom; -- (void)displayMPR:(int)index; - -- (void)toggleDisplayResliceAxes; -- (void)blendingPropagateOriginal:(OrthogonalMPRView*)sender; -- (void)blendingPropagateX:(OrthogonalMPRView*)sender; -- (void)blendingPropagateY:(OrthogonalMPRView*)sender; - -- (void)CloseViewerNotification:(NSNotification*)note; - -- (BOOL)isStackUpsideDown; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLSubtraction.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLSubtraction.h deleted file mode 100644 index 7e4b324..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LLSubtraction.h +++ /dev/null @@ -1,45 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DCMPix.h" -#import "DCMView.h" - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" - -@interface LLSubtraction : NSObject { - -} - -+ (void)subtractBuffer:(float*)bufferB to:(float*)bufferA withWidth:(long)width height:(long)height minValueA:(int)minA maxValueA:(int)maxA minValueB:(int)minB maxValueB:(int)maxB minValueSubtraction:(int)minS maxValueSubtraction:(int)maxS displayBones:(BOOL)displayBones bonesThreshold:(int)bonesThreshold; -+ (void)subtractBuffer:(float*)bufferB to:(float*)bufferA withWidth:(long)width height:(long)height; -+ (void)subtractDCMPix:(DCMPix*)pixB to:(DCMPix*)pixA minValueA:(int)minA maxValueA:(int)maxA minValueB:(int)minB maxValueB:(int)maxB minValueSubtraction:(int)minS maxValueSubtraction:(int)maxS displayBones:(BOOL)displayBones bonesThreshold:(int)bonesThreshold; -+ (void)subtractDCMPix:(DCMPix*)pixB to:(DCMPix*)pixA; -+ (void)subtractDCMView:(DCMView*)viewB to:(DCMView*)viewA; - -+ (void)removeSmallConnectedPartInBuffer:(float*)buffer withWidth:(long)width height:(long)height; -+ (void)removeSmallConnectedPartDCMPix:(DCMPix*)pix; - -+ (void)erodeBuffer:(unsigned char*)buffer withWidth:(int)width height:(int)height structuringElementRadius:(int)structuringElementRadius; -+ (void)dilateBuffer:(unsigned char*)buffer withWidth:(int)width height:(int)height structuringElementRadius:(int)structuringElementRadius; -+ (void)erode:(float*)buffer withWidth:(long)width height:(long)height structuringElementRadius:(int)structuringElementRadius; -+ (void)dilate:(float*)buffer withWidth:(long)width height:(long)height structuringElementRadius:(int)structuringElementRadius; -+ (void)close:(float*)buffer withWidth:(long)width height:(long)height structuringElementRadius:(int)structuringElementRadius; - -+ (void)lowPassFilterOnBuffer:(float*)buffer withWidth:(int)width height:(int)height structuringElementSize:(int)structuringElementSize; -+ (void)convolveBuffer:(float*)buffer withWidth:(int)width height:(int)height withKernel:(float*)kernel kernelSize:(int)kernelSize; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogArrayController.h deleted file mode 100644 index a435b54..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogArrayController.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -/** \brief Array Controller for network logs */ -@interface LogArrayController : NSArrayController { - -} - -//- (void)save:(id)sender; -- (IBAction)nothing:(id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogManager.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogManager.h deleted file mode 100644 index 7fa15b6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogManager.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief Managed network logging */ -@interface LogManager : NSObject -{ - NSTimer *_timer; - NSMutableDictionary *_currentLogs; -} - -+ (id) currentLogManager; -- (void) checkLogs:(NSTimer *)timer; -- (NSString *) logFolder; -- (void) resetLogs; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogTableView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogTableView.h deleted file mode 100644 index 88d14b4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogTableView.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -/** \brief TableView for Network logs */ - -@interface LogTableView : NSTableView { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogWindowController.h deleted file mode 100644 index 8bce83c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LogWindowController.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -/** \brief Window Controller for network logs */ -@interface LogWindowController : NSWindowController -{ - IBOutlet NSArrayController *receive, *move, *send, *web; -} - -- (NSManagedObjectContext*) managedObjectContext; -- (IBAction) export:(id) sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeController.h deleted file mode 100644 index fa656cd..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeController.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import -#import "LoupeView.h" - -@interface LoupeController : NSWindowController { - IBOutlet LoupeView *loupeView; -} - -- (void)setTexture:(char*)texture withSize:(NSSize)textureSize bytesPerRow:(int)bytesPerRow rotation:(float)rotation; -//- (void)setTexture:(char*)texture withSize:(NSSize)textureSize bytesPerRow:(int)bytesPerRow viewSize:(NSSize)viewSize; -- (void)centerWindowOnMouse; -- (void)setWindowCenter:(NSPoint)center; -- (void)drawLoupeBorder:(BOOL)drawLoupeBorder; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeView.h deleted file mode 100644 index 49381b1..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeView.h +++ /dev/null @@ -1,43 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import -#import "DCMView.h" - -#include -#include -#include - -@interface LoupeView : NSOpenGLView { - NSImage *loupeImage, *loupeMaskImage; - - GLuint loupeTextureID, loupeTextureWidth, loupeTextureHeight; - GLubyte *loupeTextureBuffer; - - GLuint loupeMaskTextureID, loupeMaskTextureWidth, loupeMaskTextureHeight; - GLubyte *loupeMaskTextureBuffer; - - GLuint textureID, textureWidth, textureHeight; - GLubyte *textureBuffer; - float textureRotation; - - BOOL drawLoupeBorder; -} - -@property BOOL drawLoupeBorder; - -- (void)makeTextureFromImage:(NSImage*)image forTexture:(GLuint*)texName buffer:(GLubyte*)buffer; -- (void)setTexture:(char*)texture withSize:(NSSize)textureSize bytesPerRow:(int)bytesPerRow rotation:(float)rotation; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeWindow.h deleted file mode 100644 index f03cfae..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/LoupeWindow.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import - - -@interface LoupeWindow : NSWindow { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPR2DController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPR2DController.h deleted file mode 100644 index 9dfaaa2..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPR2DController.h +++ /dev/null @@ -1,95 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "DCMPix.h" -#import "ColorTransferView.h" -#import "ViewerController.h" -#import "PreviewView.h" -#import "Window3DController.h" - - -@class MPR2DView; -@class DICOMExport; - -/** \brief Window Controller for 2D MPR */ -@interface MPR2DController : Window3DController -{ - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSMatrix *quicktimeRotation, *quicktimeRotationView; - IBOutlet NSTextField *quicktimeFrames; - - IBOutlet NSSlider *slider; - IBOutlet PreviewView *originalView; - IBOutlet NSView *toolsView, *ThickSlabView; - IBOutlet NSView *WLWWView, *axesView, *BlendingView, *movieView, *iPhotoView, *orientationView; - IBOutlet MPR2DView *view; - IBOutlet NSMatrix *orientationMatrix; - - NSToolbar *toolbar; - NSMutableArray *pixList[ 100]; - NSArray *fileList; - NSData *volumeData[ 100]; - short curMovieIndex, maxMovieIndex; - - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - BOOL blending; - ViewerController *blendingController, *viewerController; - - NSTimeInterval lastMovieTime; - NSTimer *movieTimer; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - IBOutlet NSMatrix *toolMatrix; - - DICOMExport *exportDCM; -} - --(NSSlider*) slider; --(void) setSliderValue:(int) i; --(void) load3DState; --(MPR2DView*) MPR2Dview; --(id) initWithPix:(NSMutableArray*) pix :(NSArray*) files :(NSData*) volumeData :(ViewerController*) bC :(ViewerController*) vC; -- (void) setupToolbar; --(void) setDefaultTool:(id) sender; -- (void)setCurrentTool:(int)tool; -- (void) ApplyOpacityString:(NSString*) str; --(ViewerController*) blendingController; --(void) updateBlendingImage; -- (void) blendingSlider:(id) sender; --(void) ApplyCLUTString:(NSString*) str; -- (void) setWLWW:(float) wl :(float) ww; -- (void) MoviePlayStop:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) moviePosSliderAction:(id) sender; --(void) addMoviePixList:(NSMutableArray*) pix :(NSData*) vData; --(DCMView*) originalView; -- (IBAction) updateImage:(id) sender; --(IBAction) endQuicktime:(id) sender; --(IBAction) export2iPhoto:(id) sender; -- (ViewerController *)viewerController; -- (void)applyWLWWForString:(NSString *)menuString; -- (void)bringToFrontROI:(ROI*)roi; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (IBAction) setOrientationTool:(id)sender; -- (void) updateOrientationMatrix; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPR2DView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPR2DView.h deleted file mode 100644 index e0a6ff4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPR2DView.h +++ /dev/null @@ -1,205 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "DCMPix.h" -#import "ViewerController.h" - -#ifdef __cplusplus -#import "VTKView.h" -#define id Id -#include "vtkCommand.h" -#include "vtkProperty.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" -#include "vtkImplicitPlaneWidget.h" -#include "vtkImagePlaneWidget.h" -#include "vtkImageBlend.h" -#include "vtkImageReslice.h" -#include "vtkTransform.h" -#include "vtkImageResample.h" -#include "vtkTransformPolyDataFilter.h" -#include "vtkSphereSource.h" -#include "vtkPolyDataToImageStencil.h" -#include "vtkLineWidget.h" -#include "vtkActor2D.h" -#include "vtkMapper2D.h" -#include "vtkPicker.h" -#include "vtkPointPicker.h" -#include "vtkImageChangeInformation.h" -#undef id -#else -typedef char* vtkTransform; -typedef char* vtkImageActor; -typedef char* vtkImageMapToColors; -typedef char* vtkLookupTable; -typedef char* vtkImageReslice; -typedef char* vtkImageImport; -typedef char* vtkRenderer; -typedef char* vtkCamera; -typedef char* vtkActor; -typedef char* vtkPolyDataMapper; -typedef char* vtkOutlineFilter; -typedef char* vtkLineWidget; -typedef char* vtkImageChangeInformation; -#endif - -#import "ThickSlabController.h" - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" - -enum { - fovMaxX = 0, - fovMaxY, - fovMaxZ}; - - -/** \brief View used to create MPR images */ -@interface MPR2DView : NSOpenGLView -{ - float blendingAxis[ 3], blendingAngle, blendingAxis2[ 3], blendingAngle2; - BOOL negVector; - long orientationVector; - - vtkTransform *sliceTransform, *blendingSliceTransform, *perpendicularSliceTransform; - - NSMutableArray *pixList; - NSArray *filesList, *filesListBlending; - float *data, *dataFRGB; - DCMPix *firstObject; - - float vectors[ 9]; - float blendingVectors[ 9]; - - NSMutableArray *blendingPixList; - DCMPix *blendingFirstObject; - float *blendingData, blendingFactor; - ViewerController *blendingController; - - ThickSlabController* thickSlabCtl; - - short currentTool; - BOOL boneVisible, skinVisible; - - vtkImageImport *blendingReader; - vtkImageActor *blendingSaggital, *blendingCoronal, *blendingAxial; - vtkImageMapToColors *blendingAxialColors, *blendingCoronalColors, *blendingSaggitalColors; - vtkLookupTable *blendingBwLut; - float blendingSliceThickness; - vtkImageReslice *slice; - - long FOV, FOVP; - float sliceThickness; - int extent[6]; - vtkImageReslice *rotate, *rotatePerpendicular, *blendingRotate; - - vtkImageImport *reader; - vtkImageActor *saggital, *coronal, *axial; - vtkImageMapToColors *axialColors, *coronalColors, *saggitalColors; - vtkLookupTable *bwLut; - - vtkRenderer *aRenderer; - vtkCamera *aCamera; - - vtkActor *outlineRect; - vtkPolyDataMapper *mapOutline; - vtkOutlineFilter *outlineData; - - vtkImageChangeInformation *changeImageInfo; - - vtkLineWidget *line; - float slicePt[3]; - - IBOutlet PreviewView *perpendicularView; - IBOutlet PreviewView *finalView; - IBOutlet PreviewView *finalViewBlending; - NSMutableArray *perPixList, *finalPixList, *finalPixListBlending; - - BOOL firstTime, firstTimeBlending; - - long thickSlab; - long thickSlabMode; - float thickSlabGap; - - IBOutlet NSSlider *sliderThickSlab; - IBOutlet NSTextField *textThickSlab; - IBOutlet NSButton *activatedThickSlab; - IBOutlet NSPopUpButton *thickSlabPopUp; - - IBOutlet NSPopUpButton *OpacityPopup; - - BOOL mouseUpMessagePending; - - float *imResult, *imResultBlending, *fullVolume, *fullVolumeBlending; - long thickSlabCount; - - int fovMaxAxis; -} - -- (IBAction) setThickSlabActivated: (id) sender; --(unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; --(void) adjustWLWW: (float) iwl :(float) iww :(NSString*) mode; --(void) setCurrentTool:(short) i; --(id)initWithFrame:(NSRect)frame; --(short) setPixSource:(NSMutableArray*)pix :(NSArray*)files :(float*) volumeData; --(void) setBlendingPixSource:(ViewerController*) vc; --(void) dealloc; --(void) setBlendingWLWW:(float) wl :(float) ww; --(void) getWLWW:(float*) wl :(float*) ww; --(void) setCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void) setBlendingCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void) setBlendingFactor:(float) f; --(void) scrollWheelInt:(float) inc :(long) update; --(IBAction) setThickSlab:(id) sender; --(IBAction) setThickSlabMode:(id) sender; --(IBAction) setThickSlabGap:(id) sender; --(float) thickSlab; --(void) movieChangeSource:(float*) volumeData; --(void) movieBlendingChangeSource; --(short) setPixSource:(NSMutableArray*)pix :(NSArray*)files :(float*) volumeData; --(void) axView:(id) sender; --(NSMutableDictionary*) get3DStateDictionary; --(void) set3DStateDictionary:(NSDictionary*) dict; --(NSImage*) nsimage:(BOOL) notused; --(void) setOpacity:(NSArray*) array; --(void) rotateOriginal :(float) angle; --(void) rotatePerpendicular :(float) angle; --(PreviewView*) finalView; --(void) setOrientationVector:(long) x; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRController.h deleted file mode 100644 index c8d175d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRController.h +++ /dev/null @@ -1,147 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OSIWindowController.h" -#import "MPRDCMView.h" -#import "VRController.h" -#import "VRView.h" - -@class MPRDCMView; - -@interface MPRController : Window3DController -{ - // To avoid the Cocoa bindings memory leak bug... - IBOutlet NSObjectController *ob; - - // To be able to use Cocoa bindings with toolbar... - IBOutlet NSView *tbLOD, *tbThickSlab, *tbWLWW, *tbTools, *tbShading, *tbMovie, *tbBlending, *tbSyncZoomLevel; - - NSToolbar *toolbar; - - IBOutlet NSMatrix *toolsMatrix; - IBOutlet NSPopUpButton *popupRoi; - - IBOutlet MPRDCMView *mprView1, *mprView2, *mprView3; - IBOutlet NSSplitView *horizontalSplit, *verticalSplit; - - // Blending - DCMView *blendedMprView1, *blendedMprView2, *blendedMprView3; - float blendingPercentage; - int blendingMode; - BOOL blendingModeAvailable; - NSString *startingOpacityMenu; - - NSMutableArray *undoQueue, *redoQueue; - - ViewerController *viewer2D, *fusedViewer2D; - VRController *hiddenVRController; - VRView *hiddenVRView; - - NSMutableArray *filesList[ MAX4D], *pixList[ MAX4D]; - DCMPix *originalPix; - NSData *volumeData[ MAX4D]; - BOOL avoidReentry; - - // 4D Data support - NSTimeInterval lastMovieTime; - NSTimer *movieTimer; - int curMovieIndex, maxMovieIndex; - float movieRate; - IBOutlet NSSlider *moviePosSlider; - - Point3D *mousePosition; - int mouseViewID; - - BOOL displayMousePosition; - - // Export Dcm & Quicktime - IBOutlet NSWindow *dcmWindow; - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSView *dcmSeriesView; - int dcmFrom, dcmTo, dcmMode, dcmSeriesMode, dcmRotation, dcmRotationDirection, dcmNumberOfFrames, dcmQuality, dcmBatchNumberOfFrames, dcmFormat; - float dcmInterval, previousDcmInterval; - BOOL dcmSameIntervalAndThickness, dcmBatchReverse; - NSString *dcmSeriesName; - MPRDCMView *curExportView; - BOOL quicktimeExportMode; - NSMutableArray *qtFileArray; - - int dcmmN; - - // Clipping Range - float clippingRangeThickness; - int clippingRangeMode; - - NSArray *wlwwMenuItems; - - float LOD; - BOOL lowLOD; - - IBOutlet NSPanel *shadingPanel; - IBOutlet ShadingArrayController *shadingsPresetsController; - BOOL shadingEditable; - IBOutlet NSButton *shadingCheck; - IBOutlet NSTextField *shadingValues; - - IBOutlet NSView *tbAxisColors; - NSColor *colorAxis1, *colorAxis2, *colorAxis3; - - BOOL windowWillClose; -} - -@property float clippingRangeThickness, dcmInterval, blendingPercentage; -@property int dcmmN, clippingRangeMode, mouseViewID, dcmFrom, dcmTo, dcmMode, dcmSeriesMode, dcmRotation, dcmRotationDirection, dcmNumberOfFrames, dcmQuality, dcmBatchNumberOfFrames; -@property int dcmFormat, curMovieIndex, maxMovieIndex, blendingMode; -@property (retain) Point3D *mousePosition; -@property (retain) NSArray *wlwwMenuItems; -@property (retain) NSString *dcmSeriesName; -@property (readonly) DCMPix *originalPix; -@property float LOD, movieRate; -@property BOOL lowLOD, dcmSameIntervalAndThickness, displayMousePosition, blendingModeAvailable, dcmBatchReverse; -@property (retain) NSColor *colorAxis1, *colorAxis2, *colorAxis3; -@property (readonly) MPRDCMView *mprView1, *mprView2, *mprView3; -@property (readonly) NSSplitView *horizontalSplit, *verticalSplit; - -+ (double) angleBetweenVector:(float*) a andPlane:(float*) orientation; - -- (id)initWithDCMPixList:(NSMutableArray*)pix filesList:(NSMutableArray*)files volumeData:(NSData*)volume viewerController:(ViewerController*)viewer fusedViewerController:(ViewerController*)fusedViewer; -- (DCMPix*) emptyPix: (DCMPix*) originalPix width: (long) w height: (long) h; -- (MPRDCMView*) selectedView; -- (void) computeCrossReferenceLines:(MPRDCMView*) sender; -- (IBAction)setTool:(id)sender; -- (void) setToolIndex: (int) toolIndex; -- (float) getClippingRangeThicknessInMm; -- (void) propagateWLWW:(MPRDCMView*) sender; -- (void)bringToFrontROI:(ROI*) roi; -- (id) prepareObjectForUndo:(NSString*) string; -- (void)createWLWWMenuItems; -- (void)UpdateWLWWMenu:(NSNotification*)note; -- (void)ApplyWLWW:(id)sender; -- (void)applyWLWWForString:(NSString *)menuString; -- (void) updateViewsAccordingToFrame:(id) sender; -- (void)findShadingPreset:(id) sender; -- (IBAction)editShadingValues:(id) sender; -- (void) moviePlayStop:(id) sender; -- (IBAction) endDCMExportSettings:(id) sender; -- (void) addMoviePixList:(NSMutableArray*) pix :(NSData*) vData; -- (void)updateToolbarItems; -- (void)toogleAxisVisibility:(id) sender; -- (BOOL) getMovieDataAvailable; -- (void)Apply3DOpacityString:(NSString*)str; -- (void)Apply2DOpacityString:(NSString*)str; -- (NSImage*) imageForROI: (int) i; -- (void) setROIToolTag:(int) roitype; -- (IBAction) roiGetInfo:(id) sender; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRDCMView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRDCMView.h deleted file mode 100644 index 54f6a47..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRDCMView.h +++ /dev/null @@ -1,72 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -#import "DCMView.h" -#import "VRController.h" -#import "MPRController.h" - -@interface MPRDCMView : DCMView -{ - int viewID; - VRView *vrView; - DCMPix *pix; - Camera *camera; - MPRController *windowController; - float angleMPR; - BOOL dontUseAutoLOD; - - float crossLinesA[2][3]; - float crossLinesB[2][3]; - - int viewExport; - float fromIntervalExport, toIntervalExport; - float LOD, previousResolution, previousPixelSpacing, previousOrientation[ 9], previousOrigin[ 3]; - - BOOL rotateLines; - BOOL moveCenter; - BOOL displayCrossLines; - BOOL lastRenderingWasMoveCenter; - - float rotateLinesStartAngle; - - BOOL dontReenterCrossReferenceLines; - - BOOL dontCheckRoiChange; -} - -@property (readonly) DCMPix *pix; -@property (retain) Camera *camera; -@property float angleMPR, fromIntervalExport, toIntervalExport, LOD; -@property int viewExport; -@property BOOL displayCrossLines, dontUseAutoLOD; -@property (readonly) VRView *vrView; -@property (readonly) BOOL rotateLines, moveCenter; - -- (BOOL)is2DTool:(short)tool; -- (void) setDCMPixList:(NSMutableArray*)pix filesList:(NSArray*)files roiList:(NSMutableArray*)rois firstImage:(short)firstImage type:(char)type reset:(BOOL)reset; -- (void) setVRView: (VRView*) v viewID:(int) i; -- (void) updateViewMPR; -- (void) updateViewMPR:(BOOL) computeCrossReferenceLines; -- (void) setCrossReferenceLines: (float[2][3]) a and: (float[2][3]) b; -- (void) saveCamera; -- (void) restoreCamera; -- (void) restoreCameraAndCheckForFrame: (BOOL) v; -- (void) updateMousePosition: (NSEvent*) theEvent; -- (void) detect2DPointInThisSlice; -- (void) magicTrick; -- (void) removeROI: (NSNotification*) note; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRFinalView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRFinalView.h deleted file mode 100644 index afdcf51..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRFinalView.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "MPRPreviewView.h" - -/** \brief Does nothing */ -@interface MPRFinalView : NSObject { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRPerpendicularView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRPerpendicularView.h deleted file mode 100644 index 9c0e604..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRPerpendicularView.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -// This view manages the perpendicular view in the MPR window - -#import -#import "MPRPreviewView.h" - -/** \brief Does nothing */ - -@interface MPRPerpendicularView : MPRPreviewView { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRPreviewView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRPreviewView.h deleted file mode 100644 index b93fbfe..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MPRPreviewView.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "PreviewView.h" - -/** \brief Initial MPR view */ -@interface MPRPreviewView : PreviewView { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MSRGSegmentation.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MSRGSegmentation.h deleted file mode 100644 index 7074f09..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MSRGSegmentation.h +++ /dev/null @@ -1,45 +0,0 @@ -/*========================================================================= -Program: OsiriX - -Copyright (c) OsiriX Team -All rights reserved. -Distributed under GNU - GPL - -See http://www.osirix-viewer.com/copyright.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. -=========================================================================*/ - - - -#import - -#ifdef __cplusplus -#import "ITK.h" -#else -@class ITK; -#endif - -@class ViewerController; - -@interface MSRGSegmentation : NSObject { - NSMutableArray* criteriaViewerList; - ViewerController* markerViewer; - unsigned char* markerBuffer; - int sizeMarker[3]; - int numberOfCriteria; - int width,height,depth; - // bounding parameters - BOOL isBounding; - NSRect boundingRegion; - BOOL isGrow3D; - int boundingZstart; - int boundingZEnd; -} -- (id) initWithViewerList:(NSMutableArray*)list currentViewer:(ViewerController*)srcViewer boundingBoxOn:(BOOL)boundOn GrowIn3D:(BOOL)growing3D boundingRect:(NSRect)rectBounding boundingBeginZ:(int)bZstart boundingEndZ:(int)bEndZ; -- (id) start3DMSRGSegmentationWithOneCriterion; -- (id) startMSRGSegmentation; -- (BOOL) build2DMarkerBuffer; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Mailer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Mailer.h deleted file mode 100644 index 8f3f65f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Mailer.h +++ /dev/null @@ -1,32 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -// Import Carbon.h, and add an ivar to your class's .h: -// You could roll this into the Mail class as presented above - -#import -/** \brief Sends email */ -@interface Mailer : NSObject { - -ComponentInstance myComponent; -} - -- (void)runScript:(NSString *)txt; -- (BOOL)sendMail:(NSString *)richBody to:(NSString *)to subject:(NSString *)subject isMIME:(BOOL)isMIME name:(NSString *)client sendNow:(BOOL)sendWithoutUserReview image:(NSString*) imagePath; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MenuDictionary.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MenuDictionary.h deleted file mode 100644 index 774fde3..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MenuDictionary.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -//#import "NSMenu.h" - - -/** \brief MenuDictionary category used to modify contextual menus */ -@interface NSMenu (MenuDictionary) -- (NSMenu*)initWithTitle:(NSString *)aTitle withDictionary:(NSDictionary *)aDictionary forWindowController:(NSWindowController *)aWindowController; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MoveManager.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MoveManager.h deleted file mode 100644 index 7826b5c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MoveManager.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -/** \brief move manager */ -@interface MoveManager : NSObject { - NSMutableSet *_set; -} - -+ (id)sharedManager; -- (void)addMove:(id)move; -- (void)removeMove:(id)move; -- (BOOL)containsMove:(id)move; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MutableArrayCategory.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MutableArrayCategory.h deleted file mode 100644 index 0863900..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MutableArrayCategory.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -/** \brief Category to shuffle arrays */ -@interface NSArray (ArrayCategory) - -- (NSArray*)shuffledArray; - -@end - -/** \brief Category to shuffle mutableArrays */ -@interface NSMutableArray (MutableArrayCategory) - -//appends array to self except when the object is already in the array as determined by isEqual: -- (void)mergeWithArray:(NSArray*)array; -- (BOOL)containsString:(NSString *)string; -- (void) removeDuplicatedStrings; -- (void) removeDuplicatedStringsInSyncWithThisArray: (NSMutableArray*) otherArray; -- (void) removeDuplicatedObjects; - -//randomizes the array -- (void)shuffle; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyNSTextView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyNSTextView.h deleted file mode 100644 index 275ac1f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyNSTextView.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface MyNSTextView : NSTextView { -// -} -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyOutlineView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyOutlineView.h deleted file mode 100644 index 1692a0f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyOutlineView.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -// -=========================================================================*/ - - - -#import -/** \brief OutlineView for BrowserController */ -@interface MyOutlineView : NSOutlineView -{ - NSArray *allColumns; -} - -- (void)removeAllColumns; -- (NSTableColumn *)initialColumnWithIdentifier:(id)identifier; -- (BOOL)isColumnWithIdentifierVisible:(id)identifier; -- (void)setColumnWithIdentifier:(id)identifier visible:(BOOL)visible; -- (void)setInitialState; -- (void)restoreColumnState:(NSObject *)columnState; -- (NSObject < NSCoding > *)columnState; -- (NSArray*) allColumns; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyPoint.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyPoint.h deleted file mode 100644 index c2f4311..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/MyPoint.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Wrapper for NSPoint */ - -@interface MyPoint : NSObject { - NSPoint pt; -} - -@property(assign) NSPoint point; -@property(readonly) float x, y; - -+ (MyPoint*)point:(NSPoint)a; -- (id)initWithPoint:(NSPoint)a; - -- (void)setPoint:(NSPoint)a; -- (void)move:(float)x :(float)y; - -- (BOOL)isEqualToPoint:(NSPoint)a; -- (BOOL)isNearToPoint:(NSPoint)a :(float)scale :(float)ratio; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Alignment.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Alignment.h deleted file mode 100644 index 4a61965..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Alignment.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -typedef uint8_t N2Alignment; - -extern const N2Alignment N2Top; -extern const N2Alignment N2Bottom; -extern const N2Alignment N2Left; -extern const N2Alignment N2Right; diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Button.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Button.h deleted file mode 100644 index 02e3278..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Button.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2Button : NSButton { - id _representedObject; -} - -@property(retain) id representedObject; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ButtonCell.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ButtonCell.h deleted file mode 100644 index d30a7dd..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ButtonCell.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2ButtonCell : NSButtonCell { - NSString* _keyEq; -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2CellDescriptor.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2CellDescriptor.h deleted file mode 100644 index bd13807..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2CellDescriptor.h +++ /dev/null @@ -1,60 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "N2MinMax.h" -#import "N2Alignment.h" - -@interface N2CellDescriptor : NSObject { - NSView* _view; - N2Alignment _alignment; - N2MinMax _widthConstraints; - CGFloat _invasivity; -// NSUInteger _rowSpan; - NSUInteger _colSpan; - BOOL _filled; -} - -@property(retain) NSView* view; -@property N2Alignment alignment; -@property N2MinMax widthConstraints; -//@property NSUInteger rowSpan; -@property NSUInteger colSpan; -@property CGFloat invasivity; -@property BOOL filled; - -+(N2CellDescriptor*)descriptor; -+(N2CellDescriptor*)descriptorWithView:(NSView*)view; -+(N2CellDescriptor*)descriptorWithWidthConstraints:(const N2MinMax&)widthConstraints; -+(N2CellDescriptor*)descriptorWithWidthConstraints:(const N2MinMax&)widthConstraints alignment:(N2Alignment)alignment; - --(N2CellDescriptor*)view:(NSView*)view; --(N2CellDescriptor*)alignment:(N2Alignment)alignment; --(N2CellDescriptor*)widthConstraints:(const N2MinMax&)widthConstraints; -//-(N2CellDescriptor*)rowSpan:(NSUInteger)rowSpan; --(N2CellDescriptor*)colSpan:(NSUInteger)colSpan; --(N2CellDescriptor*)invasivity:(CGFloat)invasivity; --(N2CellDescriptor*)filled:(BOOL)filled; - --(NSSize)optimalSize; --(NSSize)optimalSizeForWidth:(CGFloat)width; --(NSRect)sizeAdjust; - -#pragma mark Deprecated --(N2CellDescriptor*)initWithWidthConstraints:(const N2MinMax&)widthConstraints alignment:(N2Alignment)alignment DEPRECATED_ATTRIBUTE; - -@end - -@interface N2ColumnDescriptor : N2CellDescriptor -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ColorWell.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ColorWell.h deleted file mode 100644 index 409849e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ColorWell.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import "N2Button.h" - - -@interface N2ColorWell : N2Button { - NSColor* _color; -} - -@property(retain) NSColor* color; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ColumnLayout.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ColumnLayout.h deleted file mode 100644 index 6363830..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ColumnLayout.h +++ /dev/null @@ -1,40 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import "N2Layout.h" - - -@interface N2ColumnLayout : N2Layout { - NSArray* _columnDescriptors; - NSMutableArray* _rows; -} - --(id)initForView:(N2View*)view columnDescriptors:(NSArray*)columnDescriptors controlSize:(NSControlSize)controlSize; - --(NSArray*)rowAtIndex:(NSUInteger)index; --(NSUInteger)appendRow:(NSArray*)row; --(void)insertRow:(NSArray*)row atIndex:(NSUInteger)index; --(void)removeRowAtIndex:(NSUInteger)index; --(void)removeAllRows; - -#pragma mark Deprecated - --(NSArray*)lineAtIndex:(NSUInteger)index DEPRECATED_ATTRIBUTE; --(NSUInteger)appendLine:(NSArray*)line DEPRECATED_ATTRIBUTE; --(void)insertLine:(NSArray*)line atIndex:(NSUInteger)index DEPRECATED_ATTRIBUTE; --(void)removeLineAtIndex:(NSUInteger)index DEPRECATED_ATTRIBUTE; --(void)removeAllLines DEPRECATED_ATTRIBUTE; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Connection.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Connection.h deleted file mode 100644 index 0bcf138..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Connection.h +++ /dev/null @@ -1,55 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -extern const NSString* N2ConnectionStatusDidChangeNotification; - -enum N2ConnectionStatus { - N2ConnectionStatusClosed = 0, - N2ConnectionStatusConnecting, - N2ConnectionStatusOpening, - N2ConnectionStatusOk -}; - -@interface N2Connection : NSObject { - NSString* _address; - NSInteger _port; - NSInputStream* _inputStream; - NSOutputStream* _outputStream; - NSMutableData *_inputBuffer, *_outputBuffer; - NSTimer* _lifecycle; - BOOL _hasBytesAvailable, _hasSpaceAvailable, _handleConnectionClose; - NSUInteger _handleOpenCompleted; - N2ConnectionStatus _status; -} - -@property(readonly) NSString* address; -@property N2ConnectionStatus status; - --(id)initWithAddress:(NSString*)address port:(NSInteger)port; --(id)initWithAddress:(NSString*)address port:(NSInteger)port is:(NSInputStream*)is os:(NSOutputStream*)os; - --(void)open; --(void)reconnect; --(void)close; --(void)invalidate; - --(void)reconnectToAddress:(NSString*)address port:(NSInteger)port; - --(void)lifecycle; --(void)writeData:(NSData*)data; --(void)handleData:(NSMutableData*)data; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ConnectionListener.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ConnectionListener.h deleted file mode 100644 index c534fc8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2ConnectionListener.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -const extern NSString* N2ConnectionListenerOpenedConnectionNotification; -const extern NSString* N2ConnectionListenerOpenedConnection; - -@class N2Connection; - -@interface N2ConnectionListener : NSObject { - Class _class; - CFSocketRef ipv4socket; - CFSocketRef ipv6socket; - NSMutableArray* _clients; -} - --(id)initWithPort:(NSInteger)port connectionClass:(Class)classs; --(id)initWithPath:(NSString*)path connectionClass:(Class)classs; --(N2Connection*)handleNewConnectionFromAddress:(NSData*)addr inputStream:(NSInputStream*)istr outputStream:(NSOutputStream*)ostr; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Debug.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Debug.h deleted file mode 100644 index f76a029..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Debug.h +++ /dev/null @@ -1,30 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface N2Debug : NSObject { -} - -+(BOOL)isActive; -+(void)setActive:(BOOL)active; - -@end - - -#ifdef DEBUG -#define DLog NSLog -#else -#define DLog(args...) { if ([N2Debug isActive]) NSLog(args); } -#endif diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2DisclosureBox.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2DisclosureBox.h deleted file mode 100644 index 5bb4d01..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2DisclosureBox.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@class N2DisclosureButtonCell; - -extern NSString* N2DisclosureBoxDidToggleNotification; -extern NSString* N2DisclosureBoxWillExpandNotification; -extern NSString* N2DisclosureBoxDidExpandNotification; -extern NSString* N2DisclosureBoxWillCollapseNotification; -extern NSString* N2DisclosureBoxDidCollapseNotification; - -@interface N2DisclosureBox : NSBox { - BOOL _showingExpanded; - IBOutlet NSView* _content; - CGFloat _contentHeight; -} - -@property BOOL enabled; -@property(readonly) N2DisclosureButtonCell* titleCell; - --(id)initWithTitle:(NSString*)title content:(NSView*)view; --(void)toggle:(id)sender; --(void)expand:(id)sender; --(void)collapse:(id)sender; --(BOOL)isExpanded; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2DisclosureButtonCell.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2DisclosureButtonCell.h deleted file mode 100644 index e3dcccf..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2DisclosureButtonCell.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface N2DisclosureButtonCell : NSButtonCell { - NSMutableDictionary* _attributes; -} - -@property(readonly) NSMutableDictionary* attributes; - --(NSSize)textSize; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Exceptions.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Exceptions.h deleted file mode 100644 index 26161fb..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Exceptions.h +++ /dev/null @@ -1,17 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -extern NSString* N2VirtualMethodException; diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Layout.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Layout.h deleted file mode 100644 index b7de8df..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Layout.h +++ /dev/null @@ -1,42 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "NSView+N2.h" - -@class N2View; - -@interface N2Layout : NSObject { - N2View* _view; - NSControlSize _controlSize; - BOOL _forcesSuperviewHeight, _forcesSuperviewWidth; -// private: - NSRect _margin; - NSSize _separation; - BOOL _layingOut, _enabled; -} - -@property(readonly) N2View* view; -@property NSControlSize controlSize; -@property BOOL forcesSuperviewHeight; -@property BOOL forcesSuperviewWidth; -@property NSRect margin; -@property NSSize separation; -@property BOOL enabled; - --(id)initWithView:(N2View*)view controlSize:(NSControlSize)size; --(void)layOut; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2MinMax.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2MinMax.h deleted file mode 100644 index ce1d89b..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2MinMax.h +++ /dev/null @@ -1,32 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -extern const CGFloat N2NoMin, N2NoMax; - -typedef struct N2MinMax { - CGFloat min, max; -} N2MinMax; - -N2MinMax N2MakeMinMax(CGFloat min, CGFloat max); -N2MinMax N2MakeMinMax(CGFloat val); -N2MinMax N2MakeMinMax(); -N2MinMax N2MakeMin(CGFloat min); -N2MinMax N2MakeMax(CGFloat max); -CGFloat N2MinMaxConstrainedValue(const N2MinMax& mm, CGFloat val); -void N2ExtendMinMax(N2MinMax& n2minmax, CGFloat value); -N2MinMax N2ComposeMinMax(const N2MinMax& mm1, const N2MinMax& mm2); -N2MinMax operator+(const N2MinMax& mm1, const N2MinMax& mm2); -N2MinMax operator+(const N2MinMax& mm, const CGFloat& f); diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Operators.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Operators.h deleted file mode 100644 index 4ec0a55..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Operators.h +++ /dev/null @@ -1,128 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -extern NSString* N2LinesDontInterceptException; - -CGFloat NSSign(const CGFloat f); -CGFloat NSLimit(const CGFloat v, const CGFloat min, const CGFloat max); - -#pragma mark NSSize - -namespace n2 { - NSSize floor(const NSSize& s); - NSSize ceil(const NSSize& s); - NSSize round(const NSSize& s); -} - -NSSize NSRoundSize(NSSize s) DEPRECATED_ATTRIBUTE; - -NSSize NSMakeSize(CGFloat wh); -NSSize operator-(const NSSize& s); // -[x,y] = [-x,-y] -NSSize operator+(const NSSize& s1, const NSSize& s2); // [x,y]+[X,Y] = [x+X,y+Y] -NSSize operator+=(NSSize& s1, const NSSize& s2); -NSSize operator-(const NSSize& s1, const NSSize& s2); // [x,y]-[X,Y] = -[X,Y]+[x,y] = [x-X,y-Y] -NSSize operator-=(NSSize& s1, const NSSize& s2); -NSSize operator*(const NSSize& s1, const NSSize& s2); -NSSize operator*=(NSSize& s1, const NSSize& s2); -NSSize operator/(const NSSize& s1, const NSSize& s2); -NSSize operator/=(NSSize& s1, const NSSize& s2); -BOOL operator==(const NSSize& s1, const NSSize& s2); -BOOL operator!=(const NSSize& s1, const NSSize& s2); - -NSSize operator+(const NSSize& s, const CGFloat f); -NSSize operator+=(NSSize& s, const CGFloat f); -NSSize operator-(const NSSize& s, const CGFloat f); -NSSize operator-=(NSSize& s, const CGFloat f); -NSSize operator*(const CGFloat f, const NSSize& s); // [x,y]*d = [x*d,y*d] -NSSize operator/(const CGFloat f, const NSSize& s); -NSSize operator*(const NSSize& s, const CGFloat f); -NSSize operator*=(NSSize& s, const CGFloat f); -NSSize operator/(const NSSize& s, const CGFloat f); -NSSize operator/=(NSSize& s, const CGFloat f); - -NSPoint operator-(const NSPoint& p); // -[x,y] = [-x,-y] -NSPoint operator+(const NSPoint& p1, const NSPoint& p2); // [x,y]+[X,Y] = [x+X,y+Y] -NSPoint operator+=(NSPoint& p1, const NSPoint& p2); -NSPoint operator-(const NSPoint& p1, const NSPoint& p2); // [x,y]-[X,Y] = -[X,Y]+[x,y] = [x-X,y-Y] -NSPoint operator-=(NSPoint& p1, const NSPoint& p2); -NSPoint operator*(const NSPoint& p1, const NSPoint& p2); -NSPoint operator*=(NSPoint& p1, const NSPoint& p2); -NSPoint operator/(const NSPoint& p1, const NSPoint& p2); -NSPoint operator/=(NSPoint& p1, const NSPoint& p2); -BOOL operator==(const NSPoint& p1, const NSPoint& p2); -BOOL operator!=(const NSPoint& p1, const NSPoint& p2); - -NSPoint operator+(const NSPoint& p, const CGFloat f); -NSPoint operator+=(NSPoint& p, const CGFloat f); -NSPoint operator-(const NSPoint& p, const CGFloat f); -NSPoint operator-=(NSPoint& p, const CGFloat f); -NSPoint operator*(const CGFloat f, const NSPoint& p); -NSPoint operator/(const CGFloat f, const NSPoint& p); -NSPoint operator*(const NSPoint& p, const CGFloat f); // [x,y]*d = [x*d,y*d] -NSPoint operator*=(NSPoint& p, const CGFloat f); -NSPoint operator/(const NSPoint& p, const CGFloat f); // [x,y]/d = [x/d,y/d] -NSPoint operator/=(NSPoint& p, const CGFloat f); - -NSPoint NSMakePoint(const NSSize& s); -NSSize operator+(const NSSize& s, const NSPoint& p); -NSSize operator+=(NSSize& s, const NSPoint& p); -NSPoint operator+(const NSPoint& p, const NSSize& s); -NSPoint operator+=(NSPoint& p, const NSSize& s); -NSSize operator-(const NSSize& s, const NSPoint& p); -NSPoint operator-(const NSPoint& p, const NSSize& s); -NSSize operator*(const NSSize& s, const NSPoint& p); -NSPoint operator*(const NSPoint& p, const NSSize& s); -NSSize operator/(const NSSize& s, const NSPoint& p); -NSPoint operator/(const NSPoint& p, const NSSize& s); - -CGFloat NSDistance(const NSPoint& p1, const NSPoint& p2); -CGFloat NSAngle(const NSPoint& p1, const NSPoint& p2); -NSPoint NSMiddle(const NSPoint& p1, const NSPoint& p2); - -typedef struct _NSVector : NSPoint { -} NSVector; - -NSVector NSMakeVector(CGFloat x, CGFloat y); -NSVector NSMakeVector(const NSPoint& from, const NSPoint& to); -NSVector NSMakeVector(const NSPoint& p); -NSPoint NSMakePoint(const NSVector& p); - -NSVector operator!(const NSVector& v); - -CGFloat NSLength(const NSVector& v); -CGFloat NSAngle(const NSVector& v); - -typedef struct _NSLine { - NSPoint origin; - NSVector direction; -} NSLine; - -NSLine NSMakeLine(const NSPoint& origin, const NSVector& direction); -NSLine NSMakeLine(const NSPoint& p1, const NSPoint& p2); - -CGFloat NSAngle(const NSLine& l); -BOOL NSParallel(const NSLine& l1, const NSLine& l2); -CGFloat NSLineInterceptionValue(const NSLine& l1, const NSLine& l2); -NSPoint NSLineAtValue(const NSLine& l, CGFloat u); -NSPoint operator*(const NSLine& l1, const NSLine& l2); // intersection of lines -CGFloat NSLineYAtX(const NSLine& l1, CGFloat x); - -NSRect NSMakeRect(const NSPoint& o, const NSSize& s); -NSRect NSInsetRect(const NSRect& r, const NSSize& s); -NSRect operator+(const NSRect& r, const NSSize& s); -NSRect operator-(const NSRect& r, const NSSize& s); -BOOL operator==(const NSRect& r1, const NSRect& r2); -BOOL operator!=(const NSRect& r1, const NSRect& r2); diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Pair.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Pair.h deleted file mode 100644 index 9e4eea8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Pair.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface N2Pair : NSObject { - id _first, _second; -} - -@property(retain) id first, second; - --(id)initWith:(id)first and:(id)second; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Panel.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Panel.h deleted file mode 100644 index e414069..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Panel.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -@class N2View; - -@interface N2Panel : NSPanel { - BOOL _canBecomeKeyWindow; -} - -@property BOOL canBecomeKeyWindow; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2PopUpButton.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2PopUpButton.h deleted file mode 100644 index bc88a95..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2PopUpButton.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2PopUpButton : NSPopUpButton - - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Resizer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Resizer.h deleted file mode 100644 index 2307370..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Resizer.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2Resizer : NSObject { - NSView* _observed; - NSView* _affected; - BOOL _resizing; -} - -@property(retain) NSView* observed; -@property(retain) NSView* affected; - --(id)initByObservingView:(NSView*)observed affecting:(NSView*)affected; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Shell.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Shell.h deleted file mode 100644 index 690635a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Shell.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2Shell : NSObject - -+(NSString*)execute:(NSString*)path; -+(NSString*)execute:(NSString*)path arguments:(NSArray*)arguments; -+(NSString*)execute:(NSString*)path arguments:(NSArray*)arguments expectedStatus:(int)expectedStatus; -+(NSString*)hostname; -+(NSString*)mac; -+(int)userId; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2SingletonObject.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2SingletonObject.h deleted file mode 100644 index 753fa88..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2SingletonObject.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface N2SingletonObject : NSObject { - @protected - BOOL _hasInited; -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Step.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Step.h deleted file mode 100644 index db0566e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Step.h +++ /dev/null @@ -1,39 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -extern NSString* N2StepDidBecomeActiveNotification; -extern NSString* N2StepDidBecomeInactiveNotification; -extern NSString* N2StepDidBecomeEnabledNotification; -extern NSString* N2StepDidBecomeDisabledNotification; -extern NSString* N2StepTitleDidChangeNotification; - -@interface N2Step : NSObject { - NSString* _title; - NSView* _enclosedView; - BOOL _necessary, _active, _enabled, _done, _shouldStayVisibleWhenInactive; -} - -@property(retain) NSString* title; -@property(readonly) NSView* enclosedView; -@property(getter=isNecessary) BOOL necessary; -@property(getter=isActive) BOOL active; -@property(getter=isEnabled) BOOL enabled; -@property(getter=isDone) BOOL done; -@property BOOL shouldStayVisibleWhenInactive; - --(id)initWithTitle:(NSString*)title enclosedView:(NSView*)view; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2StepView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2StepView.h deleted file mode 100644 index 31ff39c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2StepView.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -@class N2Step; - -@interface N2StepView : N2DisclosureBox { - N2Step* _step; -} - -@property(readonly) N2Step* step; - --(id)initWithStep:(N2Step*)step; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Steps.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Steps.h deleted file mode 100644 index 5713239..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Steps.h +++ /dev/null @@ -1,55 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@class N2Step; //, N2StepsView; - -extern NSString* N2StepsDidAddStepNotification; -extern NSString* N2StepsWillRemoveStepNotification; -extern NSString* N2StepsNotificationStep; - -@interface N2Steps : NSArrayController { -// IBOutlet N2StepsView* _view; - N2Step* _currentStep; - IBOutlet id _delegate; -} - -@property(retain) id delegate; -@property(assign) N2Step* currentStep; -// @property(readonly) N2StepsView* view; - --(void)enableDisableSteps; - --(BOOL)hasNextStep; --(BOOL)hasPreviousStep; - --(IBAction)nextStep:(id)sender; --(IBAction)previousStep:(id)sender; --(IBAction)skipStep:(id)sender; --(IBAction)stepValueChanged:(id)sender; --(IBAction)reset:(id)sender; - --(void)setCurrentStep:(N2Step*)step; - -@end - -@interface NSObject (N2StepsDelegate) - --(void)steps:(N2Steps*)steps willBeginStep:(N2Step*)step; --(void)steps:(N2Steps*)steps valueChanged:(id)sender; --(BOOL)steps:(N2Steps*)steps shouldValidateStep:(N2Step*)step; --(void)steps:(N2Steps*)steps validateStep:(N2Step*)step; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2StepsView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2StepsView.h deleted file mode 100644 index 70e39fe..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2StepsView.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import "N2View.h" -@class N2Steps, N2Step, N2StepView, N2ColumnLayout; - -@interface N2StepsView : N2View { - IBOutlet N2Steps* _steps; -} - --(void)stepsDidAddStep:(NSNotification*)notification; --(N2StepView*)stepViewForStep:(N2Step*)step; --(void)layOut; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2UserDefaults.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2UserDefaults.h deleted file mode 100644 index 64ed92c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2UserDefaults.h +++ /dev/null @@ -1,58 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2UserDefaults : NSObject { - NSMutableDictionary* _dictionary; - NSString* _identifier; - BOOL _autosave, _needsAutosave; -} - -@property(readonly, retain) NSString* identifier; -@property BOOL autosave; - -+(N2UserDefaults*)defaultsForObject:(id)o; -+(N2UserDefaults*)defaultsForClass:(Class)c; -+(N2UserDefaults*)defaultsForIdentifier:(NSString*)identifier; - --(id)initWithIdentifier:(NSString*)identifier; - --(id)objectForKey:(NSString*)key; --(BOOL)hasObjectForKey:(NSString*)key; --(void)setObject:(id)obj forKey:(NSString*)key; - --(id)unarchiveObjectForKey:(NSString*)key default:(id)def class:(Class)c; --(void)archiveAndSetObject:(id)value forKey:(NSString*)key; - --(NSInteger)integerForKey:(NSString*)key default:(NSInteger)def; --(void)setInteger:(NSInteger)value forKey:(NSString*)key; - --(float)floatForKey:(NSString*)key default:(float)def; --(void)setFloat:(float)value forKey:(NSString*)key; - --(double)doubleForKey:(NSString*)key default:(double)def; --(void)setDouble:(double)value forKey:(NSString*)key; - --(BOOL)boolForKey:(NSString*)key default:(BOOL)def; --(void)setBool:(BOOL)value forKey:(NSString*)key; - --(NSColor*)colorForKey:(NSString*)key default:(NSColor*)def; --(void)setColor:(NSColor*)value forKey:(NSString*)key; - --(NSRect)rectForKey:(NSString*)key default:(NSRect)def; --(void)setRect:(NSRect)value forKey:(NSString*)key; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2View.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2View.h deleted file mode 100644 index d4a01f9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2View.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@class N2Layout; - -extern NSString* N2ViewBoundsSizeDidChangeNotification; -extern NSString* N2ViewBoundsSizeDidChangeNotificationOldBoundsSize; - -@interface N2View : NSView { - NSControlSize _controlSize; - NSSize _minSize, _maxSize; - N2Layout* _layout; - NSColor* _foreColor; - NSColor* _backColor; -} - -@property NSControlSize controlSize; -@property NSSize minSize, maxSize; -@property(retain) N2Layout* layout; -@property(retain) NSColor* foreColor; -@property(retain) NSColor* backColor; - --(void)formatSubview:(NSView*)view; --(void)resizeSubviews; - -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Window.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Window.h deleted file mode 100644 index 9a79e36..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2Window.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -@class N2View; - -@interface NSWindow (N2) - --(NSSize)contentSizeForFrameSize:(NSSize)frameSize; --(NSSize)frameSizeForContentSize:(NSSize)contentSize; - -@end - -@interface N2Window : NSWindow - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2XMLRPC.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2XMLRPC.h deleted file mode 100644 index 7c3e49f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2XMLRPC.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2XMLRPC : NSObject { -} - -+(NSObject*)ParseElement:(NSXMLNode*)n; -+(NSString*)FormatElement:(NSObject*)o; -+(NSString*)ReturnElement:(NSInvocation*)invocation; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2XMLRPCConnection.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2XMLRPCConnection.h deleted file mode 100644 index 1b7ade4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/N2XMLRPCConnection.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "N2Connection.h" - -@interface N2XMLRPCConnection : N2Connection { - id _delegate; - BOOL _executed, _waitingToClose; - NSTimer* _timeout; -} - -@property(retain) id delegate; - --(void)handleRequest:(CFHTTPMessageRef)request; --(void)writeAndReleaseResponse:(CFHTTPMessageRef)response; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NS(Attributed)String+Geometrics.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NS(Attributed)String+Geometrics.h deleted file mode 100644 index 1208bf9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NS(Attributed)String+Geometrics.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - - * SUMMARY - - The methods in these @interfaces are typically used to dynamically size - an NSTextView or NSTextField to fit their strings. They return the - ^used^ size, width or height of the given string/attributes, constrained - by the maximum dimensions passed in the 'width' and 'height' arguments. - - * RENDERING IN NSTextView VS. NSTextField - - Text rendered in a multiline line-wrapped NSTextField leaves much more - space between lines than text rendered in an NSTextView. The total points - per line is typically 10-20% higher. - - Because most apps use NSTextView to render multiline text, using a - line-wrapped NSTextField looks funny, and obviously it wastes useful - screen area. But there are more subtle disadavantages if you wish to - estimate the size of the rendered text, typically done in - order to size the view. - - First of all, you cannot get a perfect estimate of the height. - Although using the proper typesetterBehavior in the NSLayoutManager - providing the estimate fixes the severe 10-20% underestimation which - you'd get from using the default NSTypesetterLatestBehavior, - it still usually gives results that are a little inaccurate. - The error depends on the font and the size. - For Arial and Helvetica, the calculated height is usually underestimated - by the measure of one glyph descender; i.e. the measurement extends - only to the baseline of the last line. - For Lucida Grande smaller-sized fonts (9-10 pt), and for most sizes of - Goudy Old Style, the calculated height is overestimated, by about one line. - For Stencil, the calculated height is accurate. - For Zapfino, the calculated height is usually underrestimated by 1-3 pixels. - These are the only fonts that I looked at the results for. - - Finally, although the typesetterBehavior seems to be, at this time, - equal to NSTypesetterBehavior_10_2_WithCompatibility, I suppose that - this could change in the future. This will change the vertical - size of the rendered text. - - For these reasons, using a wrapped NSTextField to render multiline text is - therefore discouraged in favor of using an NSTextView. - - * THE GLOBAL VARIABLE gNSStringGeometricsTypesetterBehavior - - The estimate of line spacing is controlled by the NSTypesetterBehavior - setting in NSLayoutManager used in these methods. Therefore, you must - specify the NSTypsetterBehavior you desire when using one of these methods - to get a measurement. - - Rather than providing a 'typsetterBehavior' argument in each of the methods in - this category, which would make them really messy just to support a - discouraged usage, a global variable, gNSStringGeometricsTypesetterBehavior, is - initialized with the value NSTypesetterLatestBehavior. This value is - appropriate to estimating height of text to be rendered in an NSTextView. - This is also the default behavior in NSLayoutManager. - - Therefore, if you want to get measurements for text to be rendered in an - NSTextView, these methods will "just work". - - Also, if you want to get the dimensions for text which will render in a - single line, even in NSTextField, these methods will "just work". - - However, if you want to get dimensions of a string as rendered in the - discouraged NSTextField with line wrapping, set the global variable - gNSStringGeometricsTypesetterBehavior to - NSTypesetterBehavior_10_2_WithCompatibility before invoking these methods. - Invoking any of these methods will automatically set it back to the - default value of NSTypesetterLatestBehavior. - - * ARGUMENTS width and height - - In the sizeFor... methods, pass either a width or height which is known to - be larger than the width or height that is required. Usually, one of these - should be the "unlimited" value of FLT_MAX. - If text will be drawn on one line, you may pass FLT_MAX for width. - - * ARGUMENT attributes, NSAttributedString attributes - - The dictionary 'attributes', or for NSAttributedString (Geometrics), the - attributes of the receiver, must contain at least one key: - NSFontAttributeName, with value an NSFont object. - Other keys in 'attributes' are ignored. - - * DEGENERATE ARGUMENT CASES - - If the receiver has 0 -length, all of these methods will return 0.0. - If 'font' argument is nil, will log error to console and return 0.0 x 0.0. - - It is sometimes useful to know that, according to Douglas Davidson, - http://www.cocoabuilder.com/archive/message/cocoa/2002/2/13/66379, - "The default font for text that has no font attribute set is 12-pt Helvetica." - Can't find any official documentation on this, but it seems to be still - true today, as of Mac OS 10.5.2, for NSTextView. For NSTextField, however, - the default font is 12-pt Lucida Grande. - - If you pass a nil 'font' argument, these methods will log an error and - return 0.0. But if you pass an NSAttributedString with no font attribute - for a run, these methods will calculate assuming 12-pt regular Helvetica. - - * INTERNAL DESIGN - - -[NSAttributedString sizeForWidth:height] is the primitive workhorse method. - All other methods in these @interfaces invoke this method under the hood. - Basically, it stuffs your string into an NSTextContainer, stuffs this into - an NSLayout Manager, and then gets the answer by invoking - -[NSLayoutManager usedRectForTextContainer:]. The idea is copied from here: - http://developer.apple.com/documentation/Cocoa/Conceptual/TextLayout/Tasks/StringHeight.html - - * AUTHOR - - Please send bug reports or other comments to Jerry Krinock, jerry@ieee.org - Updates may be available at http://sheepsystems.com/sourceCode - - * ACKNOWLEDGEMENTS - - Thanks very much to Steve Nygard for taking the project one night, - recognizing the importance of the line fragment padding and hyphenation - factor, and the idea of generalizing to support NSAttributedString. - - */ - -#import - -extern int gNSStringGeometricsTypesetterBehavior ; - -@interface NSAttributedString (Geometrics) - -// Measuring Attributed Strings -- (NSSize)sizeForWidth:(float)width - height:(float)height ; -- (float)heightForWidth:(float)width ; -- (float)widthForHeight:(float)height ; - -@end - -@interface NSString (Geometrics) - -// Measuring a String With Attributes -- (NSSize)sizeForWidth:(float)width - height:(float)height - attributes:(NSDictionary*)attributes ; -- (float)heightForWidth:(float)width - attributes:(NSDictionary*)attributes ; -- (float)widthForHeight:(float)height - attributes:(NSDictionary*)attributes ; - -// Measuring a String with a constant Font -- (NSSize)sizeForWidth:(float)width - height:(float)height - font:(NSFont*)font ; -- (float)heightForWidth:(float)width - font:(NSFont*)font ; -- (float)widthForHeight:(float)height - font:(NSFont*)font ; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSAppleScript+HandlerCalls.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSAppleScript+HandlerCalls.h deleted file mode 100644 index 2c2803f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSAppleScript+HandlerCalls.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - -NSAppleScript+HandlerCalls.h -ASHandlerTest -by Buzz Andersen - -More information at: http://www.scifihifi.com/weblog/mac/Cocoa-AppleEvent-Handlers.html - -This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit - -http://creativecommons.org/licenses/by/1.0/ - -or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, -California 94305, USA. - -*/ - -#import - -@interface NSAppleScript (HandlerCalls) - -- (NSAppleEventDescriptor *) callHandler: (NSString *) handler withArguments: (NSAppleEventDescriptor *) arguments errorInfo: (NSDictionary **) errorInfo; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSBitmapImageRep+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSBitmapImageRep+N2.h deleted file mode 100644 index 6945924..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSBitmapImageRep+N2.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSBitmapImageRep (N2) - --(void)setColor:(NSColor*)color; --(NSImage*)image; --(NSBitmapImageRep*)repUsingColorSpaceName:(NSString*)colorSpaceName; - --(void)ATMask:(float)level DEPRECATED_ATTRIBUTE; --(NSBitmapImageRep*)smoothen:(NSUInteger)margin; -//-(NSBitmapImageRep*)convolveWithFilter:(const boost::numeric::ublas::matrix&)filter fillPixel:(NSUInteger[])fillPixel; -//-(NSBitmapImageRep*)fftConvolveWithFilter:(const boost::numeric::ublas::matrix&)filter fillPixel:(NSUInteger[])fillPixel; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSButton+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSButton+N2.h deleted file mode 100644 index 97e5ddf..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSButton+N2.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSButton (N2) - --(id)initWithOrigin:(NSPoint)origin title:(NSString*)title font:(NSFont*)font; - --(NSSize)optimalSizeForWidth:(CGFloat)width; --(NSSize)optimalSize; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSColor+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSColor+N2.h deleted file mode 100644 index 941213a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSColor+N2.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSColor (N2) - --(BOOL)isEqualToColor:(NSColor*)color; --(BOOL)isEqualToColor:(NSColor*)color alphaThreshold:(CGFloat)alphaThreshold; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSData+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSData+N2.h deleted file mode 100644 index f9c1df4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSData+N2.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSData (N2) - -+(NSData*)dataWithHex:(NSString*)hex; --(NSData*)initWithHex:(NSString*)hex; -+(NSData*)dataWithBase64:(NSString*)base64; --(NSData*)initWithBase64:(NSString*)base64; --(NSString*)base64; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSDictionary+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSDictionary+N2.h deleted file mode 100644 index 66ea4c7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSDictionary+N2.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSDictionary (N2) - --(id)objectForKey:(id)k ofClass:(Class)cl; --(id)keyForObject:(id)obj; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSFullScreenWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSFullScreenWindow.h deleted file mode 100644 index 548c1a9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSFullScreenWindow.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - - -/** \brief Full Screen Window */ -@interface NSFullScreenWindow : NSWindow { - -} -- (BOOL)canBecomeKeyWindow; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSImage+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSImage+N2.h deleted file mode 100644 index 9c2d089..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSImage+N2.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -//#include - -@interface NSImage (N2) - --(void)flipImageHorizontally; --(NSRect)boundingBoxSkippingColor:(NSColor*)color inRect:(NSRect)box; --(NSRect)boundingBoxSkippingColor:(NSColor*)color; - -@end - -@interface N2Image : NSImage { - NSRect _portion; - NSSize _inchSize; -} - -@property NSSize inchSize; -@property NSRect portion; - --(id)initWithSize:(NSSize)size inches:(NSSize)inches; --(id)initWithSize:(NSSize)size inches:(NSSize)inches portion:(NSRect)portion; --(N2Image*)crop:(NSRect)rect; --(NSPoint)convertPointFromPageInches:(NSPoint)p; --(NSSize)originalInchSize; --(float)resolution; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSImageView+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSImageView+N2.h deleted file mode 100644 index edd9f83..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSImageView+N2.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSImageView (N2) - -+(NSImageView*)createWithImage:(NSImage*)image; - -@end - -@interface N2ImageView : NSImageView - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSInvocation+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSInvocation+N2.h deleted file mode 100644 index 384ca85..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSInvocation+N2.h +++ /dev/null @@ -1,21 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface NSInvocation (N2) - -+(NSInvocation*)invocationWithSelector:(SEL)sel target:(id)target argument:(id)arg; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSMutableDictionary+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSMutableDictionary+N2.h deleted file mode 100644 index a7e7ce5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSMutableDictionary+N2.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSMutableDictionary (N2) - --(void)removeObject:(id)obj; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSPanel+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSPanel+N2.h deleted file mode 100644 index bbe9f6e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSPanel+N2.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSPanel (N2) - -+(NSPanel*)alertWithTitle:(NSString*)title message:(NSString*)message defaultButton:(NSString*)defaultButton alternateButton:(NSString*)alternateButton icon:(NSImage*)icon; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSSplitViewSave.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSSplitViewSave.h deleted file mode 100644 index 85635e4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSSplitViewSave.h +++ /dev/null @@ -1,30 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -/** \brief Category saves splitView state to User Defaults */ -@interface NSSplitView(Defaults) - -+ (void) saveSplitView; -+ (void) loadSplitView; - -- (void) restoreDefault: (NSString *) defaultName; -- (void) saveDefault: (NSString *) defaultName; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSString+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSString+N2.h deleted file mode 100644 index 9091be7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSString+N2.h +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSString (N2) - --(NSString*)markedString; - -+(NSString*)sizeString:(unsigned long long)size; -+(NSString*)timeString:(NSTimeInterval)time; -+(NSString*)dateString:(NSTimeInterval)date; --(NSString*)stringByTrimmingStartAndEnd; - --(NSString*)urlEncodedString; --(NSString*)xmlEscapedString; --(NSString*)xmlUnescapedString; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSTextView+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSTextView+N2.h deleted file mode 100644 index f844cb7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSTextView+N2.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSTextView (N2) - -+(NSTextView*)labelWithText:(NSString*)string; -+(NSTextView*)labelWithText:(NSString*)string alignment:(NSTextAlignment)alignment; - --(NSSize)adaptToContent; --(NSSize)adaptToContent:(CGFloat)maxWidth; - --(NSSize)optimalSizeForWidth:(CGFloat)width; --(NSSize)optimalSize; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSURL+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSURL+N2.h deleted file mode 100644 index 5ff8fa5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSURL+N2.h +++ /dev/null @@ -1,33 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface N2URLParts : NSObject { - NSString *_protocol, *_address, *_port, *_path, *_params; -} - -@property(retain) NSString *protocol, *address, *port, *path, *params; -@property(readonly) NSString* pathAndParams; - -@end - - -@interface NSURL (N2) - --(N2URLParts*)parts; -+(NSURL*)URLWithParts:(N2URLParts*)parts; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSView+N2.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSView+N2.h deleted file mode 100644 index 9cde501..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NSView+N2.h +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface NSView (N2) - -// Shortcut to [NSView initWithFrame:NSMakeRect(NSZeroPoint, size)] --(id)initWithSize:(NSSize)size; --(NSRect)sizeAdjust; - -@end - -@protocol OptimalSize - --(NSSize)optimalSize; --(NSSize)optimalSizeForWidth:(CGFloat)width; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NavigatorView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NavigatorView.h deleted file mode 100644 index 4ce5784..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NavigatorView.h +++ /dev/null @@ -1,200 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DCMView.h" -#import "ViewerController.h" - -typedef enum -{ - zoom = tZoom, - translate = tTranslate, - wlww = tWL, - rotate = tRotate, - idle = -1 -} MouseEventType; - -@interface NavigatorView : NSOpenGLView -{ - NSMutableArray *thumbnailsTextureArray; - int thumbnailWidth, thumbnailHeight; - float sizeFactor; - - NSPoint mouseDownPosition, mouseDraggedPosition, mouseMovedPosition; - MouseEventType userAction; - NSPoint offset, translation; - float rotationAngle, zoomFactor; - - int dontListenToNotification; - float wl, ww, startWL, startWW; - NSMutableArray *isTextureWLWWUpdated; - - BOOL drawLeftLateralScrollBar, drawRightLateralScrollBar; - NSTimer *scrollTimer; - - NSTrackingArea *cursorTracking; - - int previousImageIndex, previousMovieIndex; - ViewerController *previousViewer; - - BOOL mouseDragged, mouseClickedWithCommandKey; - - NSMutableDictionary *savedTransformDict; -} - -@property(readonly) int thumbnailWidth, thumbnailHeight; - -+ (NSRect) rect; -+ (NSRect) adjustIfScreenAreaIf4DNavigator: (NSRect) frame; - -- (int) minimumWindowHeight; - -/** Set the data set the Navigator is linked to.*/ -- (void)setViewer; - -/** Stops listening to notifications.*/ -- (void) removeNotificationObserver; - -/** Start listening to notifications.*/ -- (void) addNotificationObserver; - -/** Initializes the texture array.*/ -- (void)initTextureArray; - -/** Generates a texture (OpenGL) for an image. -* @param z number of the slice. -* @param t number of the movie frame (for 4D data set). -* @param i index of the texture in the texture array. -*/ -- (GLuint)generateTextureForSlice:(int)z movieIndex:(int)t arrayIndex:(int)i; - -/** Computes the size of the images in the Navigator.*/ -- (void)computeThumbnailSize; - -/** Converts a mouse location (from NSEvent) to an OpenGL Viewport location. -* @param pointInWindow the mouse location (from locationInWindow of NSEvent). -*/ -- (NSPoint)convertPointFromWindowToOpenGL:(NSPoint)pointInWindow; - -/** Computes the translation when the user click and drag the mouse -* @param start starting position of the mouse -* @param stop end position of the mouse -*/ -- (void)translationFrom:(NSPoint)start to:(NSPoint)stop; - -/** Computes the rotation when the user click and drag the mouse -* @param start starting position of the mouse -* @param stop end position of the mouse -*/ -- (void)rotateFrom:(NSPoint)start to:(NSPoint)stop; - -/** Computes the rotation of a point around another -* @param pt the point to rotate -* @param c the center of the rotation -* @param a the angle of the rotation -*/ -- (NSPoint)rotatePoint:(NSPoint)pt aroundPoint:(NSPoint)c angle:(float)a; - -/** Computes the zoom when the user click and drag the mouse -* @param start starting position of the mouse -* @param stop end position of the mouse -*/ -- (void)zoomFrom:(NSPoint)start to:(NSPoint)stop; - -/** Computes the 'zoom' of a point according to a specific origin -* @param pt the point to 'zoom' -* @param c the fixed point of the zoom -* @param f the zoom factor -*/ -- (NSPoint)zoomPoint:(NSPoint)pt withCenter:(NSPoint)c factor:(float)f; - -/** This method is called when the 2D viewer update its WLWW (when the user changes the WLWW on the 2D viewer)*/ -- (void)changeWLWW:(NSNotification*)notif; - -/** Computes the WL and WW when the user click and drag the mouse -* @param start starting position of the mouse -* @param stop end position of the mouse -*/ -- (void)wlwwFrom:(NSPoint)start to:(NSPoint)stop; - -/** Determines if the mouse is on the left lateral scroll bar. -* The NavigatorView contains 2 lateral scroll bars: one on each sides of the view (left and right). -* They consist of a dark semi-opaque rectangle with a white arrow. -* They are use to scroll the view. -* @param mousePos position of the mouse -*/ -- (BOOL)isMouseOnLeftLateralScrollBar:(NSPoint)mousePos; - -/** Determines if the mouse is on the right lateral scroll bar. -* The NavigatorView contains 2 lateral scroll bars: one on each sides of the view (left and right). -* They consist of a dark semi-opaque rectangle with a white arrow. -* They are use to scroll the view. -* @param mousePos position of the mouse -*/ -- (BOOL)isMouseOnRightLateralScrollBar:(NSPoint)mousePos; - -/** Determines if the the view can be horizontally scrolled of a certain amout. -* @param amount the amount (in pixel) to test. -*/ -- (BOOL)canScrollHorizontallyOfAmount:(float)amount; - -/** Scroll the view horizontally of a certain amout. -* @param amount the amount (in pixel). A negative value will scroll left and a positive value will scroll right. -*/ -- (void)scrollHorizontallyOfAmount:(float)amount; - -/** Scroll the view horizontally of 1 image to the left.*/ -- (void)scrollLeft; - -/** Determines if the the view can be horizontally scrolled of 1 image to the left.*/ -- (BOOL)cansScrollLeft; - -/** Scroll the view horizontally of 1 image to the right.*/ -- (void)scrollRight; - -/** Determines if the the view can be horizontally scrolled of 1 image to the right.*/ -- (BOOL)cansScrollRight; - -/** Keep scrolling when the mouse is pressed.*/ -- (void)scrollLeft:(NSTimer*)theTimer; - -/** Keep scrolling when the mouse is pressed.*/ -- (void)scrollRight:(NSTimer*)theTimer; - -/** Updates the view so that the selected image (with the red frame) is visible.*/ -- (void)displaySelectedImage; - -/** Determines if the the view needs a horizontal scroller (returns NO if all the images can be displayed on screen).*/ -- (BOOL)needsHorizontalScroller; - -/** Returns the 2D viewer that is currently linked with the Navigator.*/ -- (ViewerController*)viewer; - -/** Only in 4D. Returns all the 4D viewers that are linked to the same data set.*/ -- (NSArray*)associatedViewers; - -/** Clicking in a view of the Navigator will display the selected image in the 2D viewer. -* Holding the command key pressed while clicking will open a new viewer.*/ -- (void)displaySelectedViewInNewWindow:(BOOL)newWindow; - -/** Opens a new viewer. -* @param z number of the slice. -* @param t number of the movie frame (for 4D data set). -*/ -- (void)openNewViewerAtSlice:(int)z movieFrame:(int)t; - -- (void)saveTransformForCurrentViewer; -- (void)loadTransformForCurrentViewer; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NavigatorWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NavigatorWindowController.h deleted file mode 100644 index 3849ae9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NavigatorWindowController.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "NavigatorView.h" -@class ViewerController; -@class DCMView; - -/** \brief Window Controller for the Navigator. The Navigator provides a unrolled view of the selected series (in 3D and in 4D).*/ -@interface NavigatorWindowController : NSWindowController -{ - ViewerController *viewerController; - IBOutlet NavigatorView *navigatorView; - BOOL dontReEnter; -} - -/** Returns the Navigator Window Controller (which is a unique object).*/ -+ (NavigatorWindowController*) navigatorWindowController; -- (void) adjustWindowPosition; -- (id)initWithViewer:(ViewerController*)viewer; -- (void)setViewer:(ViewerController*)viewer; -- (void)initView; -/** Computes minSize and maxSize of its window.*/ -- (void)computeMinAndMaxSize; -- (void)setWindowLevel:(NSNotification*)notification; - -@property(readonly) NavigatorView *navigatorView; -@property(readonly) ViewerController *viewerController; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NetworkMoveDataHandler.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NetworkMoveDataHandler.h deleted file mode 100644 index de5d85e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/NetworkMoveDataHandler.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import - -/** \brief No longer in use */ -@interface NetworkMoveDataHandler : DCMCMoveResponseDataHandler { - id logEntry; -} - -+ (id)moveDataHandler; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Notifications.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Notifications.h deleted file mode 100644 index 648178d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Notifications.h +++ /dev/null @@ -1,94 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -extern NSString* const OsirixUpdateWLWWMenuNotification; -extern NSString* const OsirixChangeWLWWNotification; -extern NSString* const OsirixROIChangeNotification; -extern NSString* const OsirixCloseViewerNotification; -extern NSString* const OsirixUpdate2dCLUTMenuNotification; -extern NSString* const OsirixUpdate2dWLWWMenuNotification; -extern NSString* const OsirixLLMPRResliceNotification; -extern NSString* const OsirixROIVolumePropertiesChangedNotification; -extern NSString* const OsirixVRViewDidBecomeFirstResponderNotification; -extern NSString* const OsirixUpdateVolumeDataNotification; -extern NSString* const OsirixRevertSeriesNotification; -extern NSString* const OsirixOpacityChangedNotification; -extern NSString* const OsirixDefaultToolModifiedNotification; -extern NSString* const OsirixDefaultRightToolModifiedNotification; -extern NSString* const OsirixUpdateConvolutionMenuNotification; -extern NSString* const OsirixCLUTChangedNotification; -extern NSString* const OsirixUpdateCLUTMenuNotification; -extern NSString* const OsirixUpdateOpacityMenuNotification; -extern NSString* const OsirixRecomputeROINotification; -extern NSString* const OsirixStopPlayingNotification; -extern NSString* const OsirixChatBroadcastNotification; -extern NSString* const OsirixSyncSeriesNotification; -extern NSString* const OsirixReportModeChangedNotification; -extern NSString* const OsirixDeletedReportNotification; -extern NSString* const OsirixServerArrayChangedNotification; -extern NSString* const OsirixGLFontChangeNotification; -extern NSString* const OsirixAddToDBNotification; -extern const NSString* const OsirixAddToDBNotificationImagesArray; -extern NSString* const OsirixAddToDBCompleteNotification; -extern const NSString* const OsirixAddToDBCompleteNotificationImagesArray; -extern NSString* const OsirixNewStudySelectedNotification; -extern NSString* const OsirixDidLoadNewObjectNotification; -extern NSString* const OsirixRTStructNotification; -extern NSString* const OsirixAlternateButtonPressedNotification; -extern NSString* const OsirixROISelectedNotification; -extern NSString* const OsirixRemoveROINotification; -extern NSString* const OsirixROIRemovedFromArrayNotification; -extern NSString* const OsirixChangeFocalPointNotification; -extern NSString* const OsirixWindow3dCloseNotification; -extern NSString* const OsirixDisplay3dPointNotification; -extern NSString* const OsirixPluginDownloadInstallDidFinishNotification; -extern NSString* const OsirixXMLRPCMessageNotification; -extern NSString* const OsirixDragMatrixImageMovedNotification; -extern NSString* const OsirixNotification; -extern NSString* const OsiriXFileReceivedNotification; -extern NSString* const OsirixDCMSendStatusNotification; -extern NSString* const OsirixDCMUpdateCurrentImageNotification; -extern NSString* const OsirixDCMViewIndexChangedNotification; -extern NSString* const OsirixRightMouseUpNotification; -extern NSString* const OsirixMouseDownNotification; -extern NSString* const OsirixVRCameraDidChangeNotification; -extern NSString* const OsirixSyncNotification; -extern NSString* const OsirixAddROINotification; -extern NSString* const OsirixRightMouseDownNotification; -extern NSString* const OsirixRightMouseDraggedNotification; -extern NSString* const OsirixLabelGLFontChangeNotification; -extern NSString* const OsirixDrawTextInfoNotification; -extern NSString* const OsirixDrawObjectsNotification; -extern NSString* const OsirixDCMViewDidBecomeFirstResponderNotification; -extern NSString* const OsirixPerformDragOperationNotification; -extern NSString* const OsirixViewerWillChangeNotification; -extern NSString* const OsirixViewerDidChangeNotification; -extern NSString* const OsirixUpdateViewNotification; -extern NSString* const KFSplitViewDidCollapseSubviewNotification; -extern NSString* const KFSplitViewDidExpandSubviewNotification; -extern NSString* const BLAuthenticatedNotification; -extern NSString* const BLDeauthenticatedNotification; - -/** - * OsirixPopulatedContextualMenuNotification - * object: NSMenu* - * userInfo: - * - key [ViewerController className] - * the ViewerController the rightclick occurred in - * - key [ROI className], optional - * the rightclicked ROI - **/ -extern NSString* const OsirixPopulatedContextualMenuNotification; diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIVoxel.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIVoxel.h deleted file mode 100644 index 4325e1c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIVoxel.h +++ /dev/null @@ -1,82 +0,0 @@ - -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -@class Point3D; - -/** \brief Represents a Voxel -* -* Represents a Voxel -* Has x, y, and z positions as float -*/ - - -@interface OSIVoxel : NSObject { - float _x; - float _y; - float _z; - NSNumber *_value; - float _voxelWidth; - float _voxelHeight; - float _voxelDepth; - id _userInfo; -} - -@property float voxelWidth; -@property float voxelHeight; -@property float voxelDepth; -@property float x; -@property float y; -@property float z; -@property (copy, readwrite) NSNumber *value; -@property (retain, readwrite) id userInfo; - - - - - -/** set the x, y, z position */ -- (void) setX:(float)x y:(float)y z:(float)z; - - -/** init with x, y, and z position and pixel value */ -- (id)initWithX:(float)x y:(float)y z:(float)z value:(NSNumber *)value; -/** init with image point and the slice */ -- (id)initWithPoint:(NSPoint)point slice:(long)slice value:(NSNumber *)value; -/** init with Point3D */ -- (id)initWithPoint3D:(Point3D *)point3D; - -/** Class init with x, y, and z position and pixel value */ -+ (id)pointWithX:(float)x y:(float)y z:(float)z value:(NSNumber *)value; -/** Class init with image point and the slice */ -+ (id)pointWithNSPoint:(NSPoint)point slice:(long)slice value:(NSNumber *)value; -/** Class init with Point3D */ -+ (id)pointWithPoint3D:(Point3D *)point3D; - -/** export to xml */ --(NSMutableDictionary*) exportToXML; -/** init with xml dictonary */ --(id) initWithDictionary: (NSDictionary*) xml; - - - - - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIWindow.h deleted file mode 100644 index 63b2bca..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIWindow.h +++ /dev/null @@ -1,23 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface OSIWindow : NSWindow -{ -} - -+ (void) setDontConstrainWindow: (BOOL) v; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIWindowController.h deleted file mode 100644 index 32a5334..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OSIWindowController.h +++ /dev/null @@ -1,69 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief base class for Window Controllers in OsiriX -* -*Root class for the Viewer Window Controllers such as ViewerController -*and Window3DController -*/ - -#import - - -enum OsiriXBlendingTypes {BlendingPlugin = -1, BlendingFusion = 1, BlendingSubtraction, BlendingMultiplication, BlendingRed, BlendingGreen, BlendingBlue, Blending2DRegistration, Blending3DRegistration, BlendingLL}; - -#ifdef id -#define redefineID -#undef id -#endif - -@interface OSIWindowController : NSWindowController -{ - int _blendingType; - - BOOL magneticWindowActivated; - BOOL windowIsMovedByTheUserO; - NSRect savedWindowsFrameO; -} - -+ (BOOL) dontWindowDidChangeScreen; -+ (void) setDontEnterWindowDidChangeScreen:(BOOL) a; -+ (void) setDontEnterMagneticFunctions:(BOOL) a; -- (void) setMagnetic:(BOOL) a; -- (BOOL) magnetic; - -- (NSMutableArray*) pixList; -- (void) addToUndoQueue:(NSString*) what; -- (int)blendingType; - -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; - -- (void) applyShading:(id) sender; -- (void) updateAutoAdjustPrinting: (id) sender; - -#pragma mark- -#pragma mark current Core Data Objects -- (NSManagedObject *)currentStudy; -- (NSManagedObject *)currentSeries; -- (NSManagedObject *)currentImage; - -- (float)curWW; -- (float)curWL; -@end - -#ifdef redefineID -#define id Id -#undef redefineID -#endif diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OpacityTransferView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OpacityTransferView.h deleted file mode 100644 index fc0d4ab..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OpacityTransferView.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface OpacityTransferView : NSView -{ - - IBOutlet NSTextField *position; - - NSMutableArray *points; - - NSInteger curIndex; - - unsigned char red[256], green[256], blue[256]; -} - -- (NSMutableArray*) getPoints; -- (void) setCurrentCLUT :( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; -- (IBAction) renderButton:(id) sender; -+ (NSData*) tableWith256Entries: (NSArray*) pointsArray; -+ (NSData*) tableWith4096Entries: (NSArray*) pointsArray; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OpenGLScreenReader.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OpenGLScreenReader.h deleted file mode 100644 index f247457..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OpenGLScreenReader.h +++ /dev/null @@ -1,66 +0,0 @@ - /* - - File: OpenGLScreenReader.h - - Abstract: Interface file for OpenGLScreenReader class - - Version: 1.0 - - Disclaimer: IMPORTANT: This Apple software is supplied to you by - Apple Inc. ("Apple") in consideration of your agreement to the - following terms, and your use, installation, modification or - redistribution of this Apple software constitutes acceptance of these - terms. If you do not agree with these terms, please do not use, - install, modify or redistribute this Apple software. - - In consideration of your agreement to abide by the following terms, and - subject to these terms, Apple grants you a personal, non-exclusive - license, under Apple's copyrights in this original Apple software (the - "Apple Software"), to use, reproduce, modify and redistribute the Apple - Software, with or without modifications, in source and/or binary forms; - provided that if you redistribute the Apple Software in its entirety and - without modifications, you must retain this notice and the following - text and disclaimers in all such redistributions of the Apple Software. - Neither the name, trademarks, service marks or logos of Apple Inc. - may be used to endorse or promote products derived from the Apple - Software without specific prior written permission from Apple. Except - as expressly stated in this notice, no other rights or licenses, express - or implied, are granted by Apple herein, including but not limited to - any patent rights that may be infringed by your derivative works or by - other works in which the Apple Software may be incorporated. - - The Apple Software is provided by Apple on an "AS IS" basis. APPLE - MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION - THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS - FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND - OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - - IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, - MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED - AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), - STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - Copyright (C) 2007 Apple Inc. All Rights Reserved. - - */ - -#import -#import - -@interface OpenGLScreenReader : NSObject { - NSOpenGLContext *mGLContext; - void *mData; - long mByteWidth, mWidth, mHeight; -} - -+ (void) screenSnapshotToFilePath:(NSString*)path; -- (void) readPartialScreenToBuffer: (size_t) width bufferHeight:(size_t) height bufferBaseAddress: (void *) baseAddress; -- (void) readFullScreenToBuffer; -- (void) createTIFFImageFileOnDesktop; -- (void) createTIFFImageFileToPath:(NSString*)path; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRController.h deleted file mode 100644 index 11784ce..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRController.h +++ /dev/null @@ -1,117 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "ViewerController.h" -#import "OrthogonalReslice.h" -@class OrthogonalMPRView; - -/** \brief Controller for Orthogonal MPR */ - -@interface OrthogonalMPRController : NSObject { //NSWindowController { - NSMutableArray *originalDCMPixList, *xReslicedDCMPixList, *yReslicedDCMPixList, *originalDCMFilesList, *originalROIList; - OrthogonalReslice *reslicer; - float sign; - - float originalCrossPositionX, originalCrossPositionY, xReslicedCrossPositionX, xReslicedCrossPositionY, yReslicedCrossPositionX, yReslicedCrossPositionY; - long orientationVector; - - IBOutlet OrthogonalMPRView *originalView, *xReslicedView, *yReslicedView; - - id viewer; - NSRect originalViewFrame, xReslicedViewFrame, yReslicedViewFrame; - - short thickSlabMode, thickSlab; - - NSData *transferFunction; -} - -@property long orientationVector; - -- (id) initWithPixList: (NSArray*) pixList :(NSArray*) filesList :(NSData*) vData :(ViewerController*) vC :(ViewerController*) bC:(id) newViewer; -- (void) setPixList: (NSArray*)pix :(NSArray*)files :(ViewerController*)vC; - -- (void) reslice: (long) x: (long) y: (OrthogonalMPRView*) sender; -- (void) flipVolume; - -- (void) ApplyCLUTString:(NSString*) str; -- (void) ApplyOpacityString:(NSString*) str; - -- (void) setWLWW:(float) iwl :(float) iww; -- (void) setCurWLWWMenu:(NSString*) str; -- (void) setFusion; - --(short) thickSlabMode; --(void) setThickSlabMode : (short) newThickSlabMode; --(short) thickSlab; --(long) maxThickSlab; --(float) thickSlabDistance; --(void) setThickSlab : (short) newThickSlab; - -- (void) showViews:(id)sender; -- (void) setTransferFunction:(NSData*) tf; - -- (OrthogonalReslice*) reslicer; --(void)setReslicer:(OrthogonalReslice*)newReslicer; -- (OrthogonalMPRView*) originalView; -- (OrthogonalMPRView*) xReslicedView; -- (OrthogonalMPRView*) yReslicedView; -- (NSMutableArray*) originalDCMFilesList; -- (void) setCrossPosition: (float) x: (float) y: (id) sender; -- (void) setBlendingFactor:(float) f; -- (id) viewer; -- (float) sign; - -// Tools Selection -- (void) setCurrentTool:(short) newTool; -- (int) currentTool; - -- (void) saveViewsFrame; -- (void) saveScaleValue; -- (void) displayResliceAxes: (long) boo; -- (void) restoreScaleValue; -- (void) restoreViewsFrame; -- (void) toggleDisplayResliceAxes: (id) sender; -- (void) resetImage; -- (void) scaleToFit; - -- (NSMutableArray*) originalDCMPixList; -- (void) scaleToFit : (id) destination; -- (void) scaleToFit; -- (void) setScaleValue:(float) x; -- (void) fullWindowView: (id) sender; -- (void) saveCrossPositions; -- (void) restoreCrossPositions; -- (void) scrollTool: (long) from : (long) to : (id) sender; -- (void) doubleClick:(NSEvent *)event:(id) sender; --(void) refreshViews; - -- (void) blendingPropagateOriginal:(OrthogonalMPRView*) sender; -- (void) blendingPropagateX:(OrthogonalMPRView*) sender; -- (void) blendingPropagateY:(OrthogonalMPRView*) sender; -- (void) blendingPropagate:(OrthogonalMPRView*) sender; - -- (void) loadROIonXReslicedView: (long) y; -- (void) loadROIonYReslicedView: (long) x; -- (void) loadROIonReslicedViews: (long) x: (long) y; - -- (NSMutableArray*) pointsROIAtX: (long) x; -- (NSMutableArray*) pointsROIAtY: (long) y; - -- (NSMenu *)contextualMenu; -- (DCMPix*) firtsDCMPixInOriginalDCMPixList; -- (IBAction) flipVertical: (id)sender; -- (IBAction) flipHorizontal: (id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTController.h deleted file mode 100644 index 7d1d1d0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTController.h +++ /dev/null @@ -1,50 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OrthogonalMPRController.h" -#import "OrthogonalMPRPETCTView.h" - -@class OrthogonalMPRPETCTViewer; - -/** \brief OrthogonalMPRController for PET-CT */ - -@interface OrthogonalMPRPETCTController : OrthogonalMPRController { - - BOOL isBlending; -} -- (id) initWithPixList: (NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ViewerController*) vC :(ViewerController*) bC :(id) newViewer; - -- (void) setCrossPosition: (float) x: (float) y: (id) sender; -- (void) resliceFromOriginal: (float) x: (float) y; -- (void) resliceFromX: (float) x: (float) y; -- (void) resliceFromY: (float) x: (float) y; - -- (void) superSetWLWW:(float) iwl :(float) iww; - -- (void) setBlendingMode:(long) f; --(void) setBlendingFactor:(float) f; -- (void) stopBlending; -- (void) scaleToFit; - -- (BOOL) containsView: (DCMView*) view; - -- (void) fullWindowModality: (id) sender; -- (void) fullWindowPlan: (id) sender; - --(void) ApplyOpacityString:(NSString*) str; - -- (void) flipVertical:(id) sender: (OrthogonalMPRPETCTView*) view; -- (void) flipHorizontal:(id) sender: (OrthogonalMPRPETCTView*) view; -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTView.h deleted file mode 100644 index 64d543d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTView.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OrthogonalMPRView.h" - -/** \brief OrthogonalMPRView for PET-CT fusion */ - -@interface OrthogonalMPRPETCTView : OrthogonalMPRView { -} -- (void) superSetBlendingFactor:(float) f; -- (void) superFlipVertical:(id) sender; -- (void) superFlipHorizontal:(id) sender; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTViewer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTViewer.h deleted file mode 100644 index 4779b88..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRPETCTViewer.h +++ /dev/null @@ -1,158 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OrthogonalMPRPETCTController.h" -#import "KFSplitView.h" -#import "OSIWindowController.h" - -/** \brief Window Controller for PET-CT fusion display */ - -@interface OrthogonalMPRPETCTViewer : OSIWindowController -{ - ViewerController *viewer, *blendingViewerController; - - IBOutlet OrthogonalMPRPETCTController *CTController, *PETCTController, *PETController; - -// IBOutlet NSSplitView *originalSplitView, *xReslicedSplitView, *yReslicedSplitView, *modalitySplitView; - IBOutlet KFSplitView *originalSplitView, *xReslicedSplitView, *yReslicedSplitView, *modalitySplitView; -// IBOutlet NSSplitView *modalitySplitView; - float minSplitViewsSize; - - NSToolbar *toolbar; - IBOutlet NSView *toolsView; - IBOutlet NSMatrix *toolsMatrix; - IBOutlet NSView *blendingToolView; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - - BOOL isFullWindow; - long displayResliceAxes; - - NSArray *filesList; - NSMutableArray *pixList; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmSeriesName, *dcmFromTextField, *dcmToTextField, *dcmIntervalTextField, *dcmCountTextField; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmExport3Modalities; - DICOMExport *exportDCM; - - IBOutlet NSView *WLWWView; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - IBOutlet NSPopUpButton *blendingModePopup; - - NSString *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; //*curConvMenu; - - NSData *transferFunction; //For opacity - - long fistCTSlice, fistPETSlice, sliceRangeCT, sliceRangePET; - - // 4D - IBOutlet NSView *movieView; - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - short curMovieIndex, maxMovieIndex; - NSTimeInterval lastTime, lastMovieTime; - NSTimer *movieTimer; -} - -- (id) initWithPixList: (NSMutableArray*) pix :(NSArray*) files :(NSData*) vData :(ViewerController*) vC:(ViewerController*) bC; - -- (DCMView*) keyView; -- (BOOL) is2DViewer; -- (void) ApplyCLUTString:(NSString*) str; -- (void) setWLWW:(float) iwl :(float) iww:(id) sender; -- (IBAction) flipVolume; -- (ViewerController*) viewerController; - -- (void) resliceFromOriginal: (float) x: (float) y: (id) sender; -- (void) resliceFromX: (float) x: (float) y: (id) sender; -- (void) resliceFromY: (float) x: (float) y: (id) sender; - -- (void) blendingPropagateOriginal:(OrthogonalMPRPETCTView*) sender; -- (void) blendingPropagateX:(OrthogonalMPRPETCTView*) sender; -- (void) blendingPropagateY:(OrthogonalMPRPETCTView*) sender; - -- (OrthogonalMPRPETCTController*) CTController; -- (OrthogonalMPRPETCTController*) PETCTController; -- (OrthogonalMPRPETCTController*) PETController; - -// Tools -- (IBAction) changeTool:(id) sender; -- (IBAction) changeBlendingFactor:(id) sender; -- (void) moveBlendingFactorSlider:(float) f; -- (IBAction) blendingMode:(id) sender; -- (void) setBlendingMode: (long) m; -- (void) realignDataSet:(id) sender; - -// NSToolbar -- (void) setupToolbar; -- (IBAction) customizeViewerToolBar:(id)sender; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar; -- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar; -- (void) toolbarWillAddItem: (NSNotification *) notif; -- (void) toolbarDidRemoveItem: (NSNotification *) notif; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; - -// NSSplitViews' delegate -- (void)splitViewDidResizeSubviews:(NSNotification *)aNotification; - -// NSSplitView Control -- (void) adjustHeightSplitView; -//- (void) turnModalitySplitView; -- (void) updateToolbarItems; - -- (void) fullWindowView:(int)index:(id)sender; - -- (void) fullWindowPlan:(int)index:(id)sender; - -- (void) flipVerticalOriginal: (id) sender; -- (void) flipVerticalX: (id) sender; -- (void) flipVerticalY: (id) sender; - -- (void) flipHorizontalOriginal: (id) sender; -- (void) flipHorizontalX: (id) sender; -- (void) flipHorizontalY: (id) sender; - -- (void) fullWindowModality:(int)index:(id)sender; - -//export --(IBAction) endExportDICOMFileSettings:(id) sender; -- (NSDictionary*) exportDICOMFileInt :(BOOL) screenCapture view:(DCMView*) curView; -- (IBAction) changeFromAndToBounds:(id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (void)dcmExportTextFieldDidChange:(NSNotification *)note; - -// 4D -- (void) MoviePlayStop:(id) sender; -- (short) curMovieIndex; -- (short) maxMovieIndex; -- (void) setMovieIndex: (short) i; -- (void) movieRateSliderAction:(id) sender; -- (void) moviePosSliderAction:(id) sender; - -- (void)bringToFrontROI:(ROI*)roi; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRView.h deleted file mode 100644 index 6a668f0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRView.h +++ /dev/null @@ -1,76 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -#import "OrthogonalMPRController.h" - -#import "DCMView.h" - -//@class OrthogonalMPRController; - -/** \brief View for MPRs -* -* This view displays a cross to show where the 2 orthogonal plane are crossing -*/ - -@interface OrthogonalMPRView : DCMView { - float crossPositionX, crossPositionY; // coordinate x and Y of the cross - OrthogonalMPRController *controller; - long displayResliceAxes; - float savedScaleValue; - - long thickSlabX, thickSlabY; - NSString *curWLWWMenu; - NSString *curCLUTMenu; - NSString *curOpacityMenu; -} - -- (void) setPixList: (NSMutableArray*) pix :(NSArray*) files; -- (void) setPixList: (NSMutableArray*) pix :(NSArray*) files :(NSMutableArray*) rois; -- (NSMutableArray*) pixList; -- (void) setController: (OrthogonalMPRController*) newController; -- (OrthogonalMPRController*) controller; - -- (void) setCrossPosition: (float) x: (float) y; -- (void) setCrossPositionX: (float) x; -- (void) setCrossPositionY: (float) y; -- (float) crossPositionX; -- (float) crossPositionY; - -- (void) adjustWLWW:(float) wl :(float) ww; - -- (void) subDrawRect: (NSRect) aRect; - -- (void) toggleDisplayResliceAxes; - -- (void) saveScaleValue; -- (void) restoreScaleValue; -- (void) adjustScaleValue:(float) x; -- (void) displayResliceAxes: (long) boo; -- (void) setThickSlabXY : (long) newThickSlabX : (long) newThickSlabY; -- (void) scrollTool: (long) from : (long) to; - -- (void) setCurWLWWMenu:(NSString*) str; -- (NSString*) curWLWWMenu; - -- (NSString*) curCLUTMenu; -- (void) setCurCLUTMenu: (NSString*) clut; - -- (NSString*) curOpacityMenu; -- (void) setCurOpacityMenu: (NSString*) o; - -- (void) setCurRoiList: (NSMutableArray*) rois; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRViewer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRViewer.h deleted file mode 100644 index 0d50e92..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalMPRViewer.h +++ /dev/null @@ -1,143 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "ViewerController.h" -#import "OrthogonalMPRController.h" -#import "OrthogonalMPRView.h" -#import "OSIWindowController.h" - -@class DICOMExport; - -/** \brief Window Controller for Orthogonal MPR */ - -@interface OrthogonalMPRViewer : OSIWindowController -{ - ViewerController *viewer; - - IBOutlet OrthogonalMPRController *controller; - IBOutlet NSSplitView *splitView; - - NSToolbar *toolbar; - IBOutlet NSView *toolsView, *ThickSlabView; - IBOutlet NSMatrix *toolsMatrix; - BOOL isFullWindow; - long displayResliceAxes; - - IBOutlet NSTextField *thickSlabTextField; - IBOutlet NSSlider *thickSlabSlider; - IBOutlet NSButton *thickSlabActivated; - IBOutlet NSPopUpButton *thickSlabPopup; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmSeriesName, *dcmFromTextField, *dcmToTextField, *dcmIntervalTextField, *dcmCountTextField; - IBOutlet NSBox *dcmBox; - DICOMExport *exportDCM; - - IBOutlet NSView *WLWWView; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - NSString *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - NSData *transferFunction; //For opacity - - // 4D - IBOutlet NSView *movieView; - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - short curMovieIndex, maxMovieIndex; - NSTimeInterval lastTime, lastMovieTime; - NSTimer *movieTimer; -} - -- (id) initWithPixList: (NSMutableArray*) pixList :(NSArray*) filesList :(NSData*) vData :(ViewerController*) vC :(ViewerController*) bC; - -- (OrthogonalMPRController*) controller; - -- (BOOL) is2DViewer; -- (ViewerController*) viewer; - -- (short) curMovieIndex; -- (short) maxMovieIndex; -- (void) ApplyCLUTString:(NSString*) str; -- (void) setWLWW:(float) iwl :(float) iww; -- (void) setCurWLWWMenu: (NSString*) wlww; -- (void)applyWLWWForString:(NSString *)menuString; -- (void) flipVolume; -- (DCMView*) keyView; - -// Thick Slab --(IBAction) setThickSlabMode : (id) sender; --(IBAction) setThickSlab : (id) sender; --(IBAction) activateThickSlab : (id) sender; - -// NSSplitView Control -- (void) adjustSplitView; -//- (void) turnSplitView; -- (void) updateToolbarItems; - -// Tools Selection -- (IBAction) resetImage:(id) sender; -- (IBAction) changeTool:(id) sender; - -// NSToolbar Related Methods -- (void) setupToolbar; -- (IBAction) customizeViewerToolBar:(id)sender; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar; -- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar; -- (void) toolbarWillAddItem: (NSNotification *) notif; -- (void) toolbarDidRemoveItem: (NSNotification *) notif; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; -- (void) fullWindowView:(int)index; - -- (void) blendingPropagateOriginal:(OrthogonalMPRView*) sender; -- (void) blendingPropagateX:(OrthogonalMPRView*) sender; -- (void) blendingPropagateY:(OrthogonalMPRView*) sender; - --(void) ApplyOpacityString:(NSString*) str; - -//export --(IBAction) endExportDICOMFileSettings:(id) sender; --(IBAction) changeFromAndToBounds:(id) sender; --(IBAction) setCurrentPosition:(id) sender; --(IBAction) setCurrentdcmExport:(id) sender; - --(void) checkView:(NSView *)aView :(BOOL) OnOff; - --(void) dcmExportTextFieldDidChange:(NSNotification *)note; - -// ROIs -- (IBAction) roiDeleteAll:(id) sender; - -// 4D -- (void) MoviePlayStop:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) movieRateSliderAction:(id) sender; -- (void) moviePosSliderAction:(id) sender; - -- (ViewerController *)viewerController; -- (void)setCurrentTool:(int)currentTool; - -- (void)bringToFrontROI:(ROI*)roi; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void) exportDICOMFile:(id) sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalReslice.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalReslice.h deleted file mode 100644 index 80f8081..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OrthogonalReslice.h +++ /dev/null @@ -1,68 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DCMPix.h" - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" - -/** \brief Reslcie volume sagittally and Coronally */ - -@interface OrthogonalReslice : NSObject { - NSMutableArray *originalDCMPixList, *xReslicedDCMPixList, *yReslicedDCMPixList; - NSMutableArray *newPixListX, *newPixListY; - short thickSlab; - float sign; - - BOOL useYcache; - float *Ycache; - - NSConditionLock *resliceLock; - - long minI, maxI, newX, newY, newTotal, currentAxe; - DCMPix *firstPix; - - NSLock *processorsLock, *yCacheComputation; - volatile int numberOfThreadsForCompute; -} - -// init -- (id) initWithOriginalDCMPixList: (NSMutableArray*) pixList; -- (void) setOriginalDCMPixList: (NSMutableArray*) pixList; - -// processors -- (void) reslice: (long) x: (long) y; -- (void) xReslice: (long) x; -- (void) yReslice: (long) y; - -- (void) axeReslice: (short) axe : (long) sliceNumber; - -// accessors -- (NSMutableArray*) originalDCMPixList; -- (NSMutableArray*) xReslicedDCMPixList; -- (NSMutableArray*) yReslicedDCMPixList; - -// thickSlab -- (short) thickSlab; -- (void) setThickSlab : (short) newThickSlab; - -- (void) flipVolume; -- (void)freeYCache; - -- (BOOL)useYcache; -- (void)setUseYcache:(BOOL)boo; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriX.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriX.h deleted file mode 100644 index 4444e6f..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriX.h +++ /dev/null @@ -1,289 +0,0 @@ -#ifndef __OsiriX_Headers -#define __OsiriX_Headers - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXFixedPointVolumeRayCastMapper.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXFixedPointVolumeRayCastMapper.h deleted file mode 100644 index da5a7f8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXFixedPointVolumeRayCastMapper.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef __OsiriXFixedPointVolumeRayCastMapper_h -#define __OsiriXFixedPointVolumeRayCastMapper_h - -#include "vtkFixedPointVolumeRayCastMapper.h" - - -class VTK_VOLUMERENDERING_EXPORT OsiriXFixedPointVolumeRayCastMapper : public vtkFixedPointVolumeRayCastMapper -{ -public: - static OsiriXFixedPointVolumeRayCastMapper *New(); - void Render( vtkRenderer *, vtkVolume * ); - -protected: - OsiriXFixedPointVolumeRayCastMapper(); - -private: - OsiriXFixedPointVolumeRayCastMapper(const OsiriXFixedPointVolumeRayCastMapper&); // Not implemented. - void operator=(const OsiriXFixedPointVolumeRayCastMapper&); // Not implemented. -}; -#endif diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXHTTPConnection.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXHTTPConnection.h deleted file mode 100644 index 43c40b7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXHTTPConnection.h +++ /dev/null @@ -1,44 +0,0 @@ -#import -#import "HTTPConnection.h" - -extern NSString* asciiString (NSString* name); - -@interface OsiriXHTTPConnection : HTTPConnection -{ - NSMutableArray *selectedImages; - NSMutableDictionary *selectedDICOMNode; - NSLock *sendLock, *running; - NSString *ipAddressString; - NSManagedObject *currentUser; - NSMutableDictionary *urlParameters; - - // POST / PUT support - int dataStartIndex; - NSMutableArray* multipartData; - BOOL postHeaderOK; - NSData *postBoundary; - NSString *POSTfilename; -} - -+ (void) emailNotifications; -+ (BOOL) sendNotificationsEmailsTo: (NSArray*) users aboutStudies: (NSArray*) filteredStudies predicate: (NSString*) predicate message: (NSString*) message replyTo: (NSString*) replyto customText: (NSString*) customText; -+ (void) updateLogEntryForStudy: (NSManagedObject*) study withMessage:(NSString*) message forUser: (NSString*) user ip: (NSString*) ip; -+ (NSString*)decodeURLString:(NSString*)aString; -+ (NSString*)iPhoneCompatibleNumericalFormat:(NSString*)aString; -+ (NSString*)unbreakableStringWithString:(NSString*)aString; -+ (NSString*)encodeURLString:(NSString*)aString; -- (void) updateLogEntryForStudy: (NSManagedObject*) study withMessage:(NSString*) message; -- (BOOL)supportsPOST:(NSString *)path withSize:(UInt64)contentLength; -- (NSArray*) addSpecificStudiesToArray: (NSArray*) array; -+ (NSArray*) addSpecificStudiesToArray: (NSArray*) array forUser: (NSManagedObject*) user predicate: (NSPredicate*) predicate; -- (NSMutableString*) setBlock: (NSString*) b visible: (BOOL) v forString: (NSMutableString*) s; -- (NSArray*)studiesForPredicate:(NSPredicate *)predicate sortBy: (NSString*) sortValue; -- (NSArray*)studiesForAlbum:(NSString *)albumName sortBy: (NSString*) sortValue; - -#pragma mark JSON -- (NSString*)jsonAlbumList; -- (NSString*)jsonStudyListForStudies:(NSArray*)studies; -- (NSString*)jsonSeriesListForSeries:(NSArray*)series; -- (NSString*)jsonImageListForImages:(NSArray*)images; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXSCPDataHandler.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXSCPDataHandler.h deleted file mode 100644 index 8c06240..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXSCPDataHandler.h +++ /dev/null @@ -1,84 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -typedef struct -{ - char logPatientName[ 1024]; - char logStudyDescription[ 1024]; - char logCallingAET[ 1024]; - time_t logStartTime; - char logMessage[ 1024]; - char logUID[ 1024]; - long logNumberReceived; - long logNumberTotal; - time_t logEndTime; - char logType[ 1024]; - char logEncoding[ 1024]; -} logStruct; - -#import -#import - -#undef verify -#include "dcdatset.h" -#include "ofcond.h" - -//NSString * const OsiriXFileReceivedNotification; - -/** \brief Finds the appropriate study/series/image for Q/R -* -* Finds the appropriate study/series/image for Q/R -* Interface between server and database -*/ - -@interface OsiriXSCPDataHandler : NSObject -{ - NSArray *findArray; - NSString *specificCharacterSet; - NSEnumerator *findEnumerator; - NSString *callingAET; - NSManagedObjectContext *context; - - int numberMoving; - - NSStringEncoding encoding; - int moveArrayEnumerator; - int moveArraySize; - char **moveArray; - logStruct *logFiles; - - NSMutableDictionary *findTemplate; -} - -@property (retain) NSString *callingAET; - -+ (id)requestDataHandler; - --(NSTimeInterval)endOfDay:(NSCalendarDate *)day; --(NSTimeInterval)startOfDay:(NSCalendarDate *)day; - -- (NSPredicate *)predicateForDataset:( DcmDataset *)dataset compressedSOPInstancePredicate: (NSPredicate**) csopPredicate seriesLevelPredicate: (NSPredicate**) SLPredicate; -- (void)studyDatasetForFetchedObject:(id)fetchedObject dataset:(DcmDataset *)dataset; -- (void)seriesDatasetForFetchedObject:(id)fetchedObject dataset:(DcmDataset *)dataset; -- (void)imageDatasetForFetchedObject:(id)fetchedObject dataset:(DcmDataset *)dataset; - -- (OFCondition)prepareFindForDataSet:( DcmDataset *)dataset; -- (OFCondition)prepareMoveForDataSet:( DcmDataset *)dataset; - -- (BOOL)findMatchFound; -- (int)moveMatchFound; - -- (OFCondition)nextFindObject:(DcmDataset *)dataset isComplete:(BOOL *)isComplete; -- (OFCondition)nextMoveObject:(char *)imageFileName; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXToolbar.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXToolbar.h deleted file mode 100644 index 2f64446..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/OsiriXToolbar.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import - - -@interface OsiriXToolbar : NSToolbar { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PMDICOMStoreSCU.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PMDICOMStoreSCU.h deleted file mode 100644 index 8e8c0b6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PMDICOMStoreSCU.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - - -#import - - -@interface PMDICOMStoreSCU : NSObject { - -} - - -//-(id)initWithCalledAET:(NSString *) callingAET:(NSString *) hostName:(NSString *) port:(int); --(BOOL)sendFile:(NSString *)fileName :(int)compressionLevel; -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PSGenerator.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PSGenerator.h deleted file mode 100644 index d149ce5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PSGenerator.h +++ /dev/null @@ -1,59 +0,0 @@ -/* PSGenerator */ - -#import - -@interface PSGenerator : NSObject -{ - // Parameters - NSMutableString *formatString; - NSMutableDictionary *sourceStringsDict; - unsigned minLength; - unsigned maxLength; - unsigned alternativeNum; - BOOL shouldMix; - - // Temporary Variables - NSMutableArray *tempArray; - NSMutableString *tempString; - NSString *sourceString; - NSString *tempKey; - NSMutableString *tempFormatString; - unsigned thisLength; - unsigned randCharPos; - unsigned tempAltNum; - int i, j, x, y; - -} - -- (id) initWithFormatString: (NSMutableString *) str - sourceStrings: (NSMutableDictionary *) stringDict - minLength: (unsigned) min - maxLength: (unsigned) max; -- (id) initWithSourceString: (NSString *) str - minLength: (unsigned) min - maxLength: (unsigned) max; -- (void) dealloc; - - -- (void) setFormatString: (NSMutableString *) str; -- (void) setStandardFormatString; -- (void) setSourceStrings: (NSMutableDictionary *) stringDict; -- (void) setMinLength: (unsigned) min; -- (void) setMaxLength: (unsigned) max; -- (void) setAlternativeNum: (unsigned) num; - -- (NSString *) mainCharacterString; -- (NSString *) altCharacterString; -- (unsigned) minLength; -- (unsigned) maxLength; -- (unsigned) alternativeNum; - - -- (void) addStringToDict: (NSString *) str - withKey: (NSString *) key; - -- (NSArray *) generate: (unsigned) numPasswords; -- (void) prepareFormatString; -@end - -int randomNumberBetween( int low, int high ); \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PaletteController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PaletteController.h deleted file mode 100644 index fa2ae75..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PaletteController.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= -Program: OsiriX - -Copyright (c) OsiriX Team -All rights reserved. -Distributed under GNU - LGPL - -See http://www.osirix-viewer.com/copyright.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. -=========================================================================*/ - - - -#import -#import "DCMView.h" -#import "ROI.h" -@class ViewerController; - -/** \brief Window Controller for ROI palette */ - -@interface PaletteController : NSWindowController -{ - ViewerController *viewer; - IBOutlet NSSegmentedControl *modeControl; - IBOutlet NSSlider *sizeSlider; - IBOutlet NSTextField *sliderTextValue; -} -- (id) initWithViewer:(ViewerController*) v; -- (IBAction)changeBrushSize:(id)sender; -- (IBAction)changeMode:(id)sender; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PathForImage.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PathForImage.h deleted file mode 100644 index 6f9da4a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PathForImage.h +++ /dev/null @@ -1,18 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -const char *pathToJPEG(const char *sopInstanceUID); diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PieChartImage.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PieChartImage.h deleted file mode 100644 index 9fe7007..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PieChartImage.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// Inspired by the LittleYellowGuy Project -// -// Created by Daniel Jalkut on 11/10/06. -// Copyright 2006 Red Sweater Software. All rights reserved. - -#import - - -@interface NSImage (PieChartImage) - -+ (NSImage*) pieChartImageWithPercentage:(float)percentage; -+ (NSImage*) pieChartImageWithPercentage:(float)percentage borderColor:(NSColor*)borderColor insideColor:(NSColor*)insideColor fullColor:(NSColor*)fullColor; - -@end - -@interface NSBezierPath (RSPieChartUtilities) - -+ (NSBezierPath*) bezierPathForPieInRect:(NSRect)containerRect withWedgeRemovedFromStartingAngle:(float)startAngle toEndingAngle:(float)endAngle; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Piecewise3D.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Piecewise3D.h deleted file mode 100644 index b3c03bc..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Piecewise3D.h +++ /dev/null @@ -1,36 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "Interpolation3D.h" - -#ifdef __cplusplus -#include -#else -typedef char* vtkPiecewiseFunction; -#endif - - -/** \brief Linear interpolation for FlyThru -*/ - - -@interface Piecewise3D : Interpolation3D { - vtkPiecewiseFunction *xPiecewise, *yPiecewise, *zPiecewise; -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlaceholderWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlaceholderWindowController.h deleted file mode 100644 index ef95695..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlaceholderWindowController.h +++ /dev/null @@ -1,33 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/************************************************************************* - -PlaceholderWindowController manages the window when when placeholder windows -are created for positioning comparisons in Hanging Protocols -Is a subclass of OSIWindowController so that it will show up in the list of -Viewers -**************************************************************************/ - - -#import -#import "OSIWindowController.h" -#import "ViewerController.h" - - -@interface PlaceholderWindowController : ViewerController { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlotView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlotView.h deleted file mode 100644 index cee146e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlotView.h +++ /dev/null @@ -1,33 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -@class ROI; - -/** \brief Plot View */ - -@interface PlotView : NSView -{ - float *dataArray; - long dataSize; - long curMousePosition; - ROI *curROI; -} -- (void)setData:(float*)array :(long) size; -- (void)setCurROI: (ROI*) r; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlotWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlotWindow.h deleted file mode 100644 index 778af83..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PlotWindow.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "ROI.h" -#import "PlotView.h" - -/** \brief Window Controller for Plot */ - -@interface PlotWindow : NSWindowController { - - ROI *curROI; - - float *data, maxValue, minValue; - long dataSize; - - IBOutlet PlotView *plot; - IBOutlet NSTextField *maxX, *minY, *maxY, *sizeT; -} - -- (id) initWithROI: (ROI*) iroi; -- (ROI*) curROI; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginFileFormatDecoder.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginFileFormatDecoder.h deleted file mode 100644 index e68cbd2..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginFileFormatDecoder.h +++ /dev/null @@ -1,65 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief Plugin for adding file format */ -@interface PluginFileFormatDecoder : NSObject { - - NSNumber *_height; - NSNumber *_width; - float *_fImage; - NSNumber * _rowBytes; - NSNumber *_windowWidth; - NSNumber *_windowLevel; - BOOL _isRGB; - - NSString *_patientName; - NSString *_patientID; - NSString *_studyID; - NSString *_seriesID; - NSString *_imageID; - NSString *_studyDescription; - NSString *_seriesDescription; -} -// not used currently -+ (float *)decodedDataAtPath:(NSString *)path; - -/* - This is the main method to get the fImage float pointer used by DCMPix to create an image. - If the data is RGB the pointe should be to unsigned char with the format ARGB - Grayscale data is a float pointer -*/ - -- (float *)checkLoadAtPath:(NSString *)path; - -//returns values needed by DCMPix -- (NSNumber *)height; -- (NSNumber *)width; -- (NSNumber *)rowBytes; -- (NSNumber *)windowWidth; //optional -- (NSNumber *)windowLevel; //optional -- (BOOL)isRGB; //default is YES - -// Optional values for loading into the DB. -- (NSString *)patientName; -- (NSString *)patientID; -- (NSString *)studyID; -- (NSString *)seriesID; -- (NSString *)imageID; -- (NSString *)studyDescription; -- (NSString *)seriesDescription; - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginFilter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginFilter.h deleted file mode 100644 index 97f90ec..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginFilter.h +++ /dev/null @@ -1,84 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - - -/** \brief Base class for plugins */ -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -/** This function is called to apply your plugin */ -- (long) filterImage: (NSString*) menuName; - -/** This function is the entry point of Pre-Process plugins */ -- (long) processFiles: (NSMutableArray*) files; - -/** This function is the entry point of Report plugins -* action = @"dateReport" -> return NSDate date of creation or modification of the report, nil if no report available -* action = @"deleteReport" -> return nil, delete the report -* action = @"openReport" -> return nil, open and display the report, create a new one if no report available -*/ -- (id) report: (NSManagedObject*) study action:(NSString*) action; - - - -/** This function is called at the OsiriX startup, if you need to do some memory allocation, etc. */ -- (void) initPlugin; - -/** Opportunity for plugins to make Menu changes if necessary */ - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -/** Return the complete lists of opened studies in OsiriX */ -/** NSArray contains an array of ViewerController objects */ -- (NSArray*) viewerControllersList; - -/** Create a new 2D window, containing a copy of the current series */ -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. -/** Stub is to be subclassed by report filters */ -- (id)reportDateForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)deleteReportForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)createReportForStudy: (NSManagedObject*)study; - -/** PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY */ -- (long) prepareFilter:(ViewerController*) vC; -@end - -@interface PluginFilter (Optional) - -/** Called to pass the plugin all sorts of events sent to a ViewerController. */ --(BOOL)handleEvent:(NSEvent*)event forViewer:(ViewerController*)controller; - -@end; diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginManager.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginManager.h deleted file mode 100644 index 6ee4533..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginManager.h +++ /dev/null @@ -1,69 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "PluginFilter.h" -/** \brief Mangages PluginFilter loading */ -@interface PluginManager : NSObject -{ - NSMutableArray *downloadQueue; - BOOL startedUpdateProcess; -} - -@property(retain,readwrite) NSMutableArray *downloadQueue; - -+ (int) compareVersion: (NSString *) v1 withVersion: (NSString *) v2; -+ (NSMutableDictionary*) plugins; -+ (NSMutableDictionary*) pluginsDict; -+ (NSMutableDictionary*) fileFormatPlugins; -+ (NSMutableDictionary*) reportPlugins; -+ (NSArray*) preProcessPlugins; -+ (NSMenu*) fusionPluginsMenu; -+ (NSArray*) fusionPlugins; - -#ifdef OSIRIX_VIEWER - -+ (NSString*) pathResolved:(NSString*) inPath; -+ (void)discoverPlugins; -+ (void) setMenus:(NSMenu*) filtersMenu :(NSMenu*) roisMenu :(NSMenu*) othersMenu :(NSMenu*) dbMenu; -+ (BOOL) isComPACS; - -+ (NSString*)activePluginsDirectoryPath; -+ (NSString*)inactivePluginsDirectoryPath; -+ (NSString*)userActivePluginsDirectoryPath; -+ (NSString*)userInactivePluginsDirectoryPath; -+ (NSString*)systemActivePluginsDirectoryPath; -+ (NSString*)systemInactivePluginsDirectoryPath; -+ (NSString*)appActivePluginsDirectoryPath; -+ (NSString*)appInactivePluginsDirectoryPath; -+ (NSArray*)activeDirectories; -+ (NSArray*)inactiveDirectories; -+ (void)movePluginFromPath:(NSString*)sourcePath toPath:(NSString*)destinationPath; -+ (void)activatePluginWithName:(NSString*)pluginName; -+ (void)deactivatePluginWithName:(NSString*)pluginName; -+ (void)changeAvailabilityOfPluginWithName:(NSString*)pluginName to:(NSString*)availability; -+ (NSString*)deletePluginWithName:(NSString*)pluginName; -+ (NSString*) deletePluginWithName:(NSString*)pluginName availability: (NSString*) availability isActive:(BOOL) isActive; -+ (NSArray*)pluginsList; -+ (void)createDirectory:(NSString*)directoryPath; -+ (NSArray*)availabilities; - -- (IBAction)checkForUpdates:(id)sender; -- (void)displayUpdateMessage:(NSDictionary*)messageDictionary; - -#endif - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginManagerController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginManagerController.h deleted file mode 100644 index 1d159b5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PluginManagerController.h +++ /dev/null @@ -1,76 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import -#import "PluginManager.h" - -/** \brief Window Controller for PluginFilter management */ - -@interface PluginsTableView : NSTableView -{ - -} -@end - -@interface PluginManagerController : NSWindowController -{ - - IBOutlet NSMenu *filtersMenu; - IBOutlet NSMenu *roisMenu; - IBOutlet NSMenu *othersMenu; - IBOutlet NSMenu *dbMenu; - - NSMutableArray* plugins; - IBOutlet NSArrayController* pluginsArrayController; - IBOutlet PluginsTableView *pluginTable; - - IBOutlet NSTabView *tabView; - IBOutlet NSTabViewItem *installedPluginsTabViewItem, *webViewTabViewItem; - - IBOutlet WebView *webView; - NSArray *pluginsListURLs; - IBOutlet NSPopUpButton *pluginsListPopUp; - NSString *downloadURL, *downloadedFilePath; - IBOutlet NSButton *downloadButton; - IBOutlet NSTextField *statusTextField; - IBOutlet NSProgressIndicator *statusProgressIndicator; - - BOOL pluginsNeedToReload; -} - -- (NSMutableArray*)plugins; -- (NSArray*)availabilities; -- (IBAction)modifiyActivation:(id)sender; -- (IBAction)delete:(id)sender; -- (IBAction)modifiyAvailability:(id)sender; -- (void)loadPlugins; -- (IBAction)loadPlugins:(id)sender; -- (void)refreshPluginList; - -- (NSArray*)availablePlugins; -- (void)generateAvailablePluginsMenu; -- (void)setURL:(NSString*)url; -- (IBAction)changeWebView:(id)sender; -- (void)setURLforPluginWithName:(NSString*)name; - -- (void)setDownloadURL:(NSString*)url; -- (IBAction)download:(id)sender; - -- (void)installDownloadedPluginAtPath:(NSString*)path; -- (BOOL)isZippedFileAtPath:(NSString*)path; -- (BOOL)unZipFileAtPath:(NSString*)path; -- (void)loadSubmitPluginPage; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Point3D.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Point3D.h deleted file mode 100644 index 77cd94d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Point3D.h +++ /dev/null @@ -1,53 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - - -/** \brief Represents a 3D Point -* -* Represents a 3D Point -* Has x, y, and z positions as float -*/ - - -@interface Point3D : NSObject { - float x, y, z; -} - -@property float x; -@property float y; -@property float z; - -+ (id)point; -+ (id) pointWithX:(float)x1 y:(float)y1 z:(float)z1; - --(id) init; // initiatize to origin --(id) initWithValues:(float)x :(float)y :(float)z; --(id) initWithPoint3D: (Point3D*)p; --(id) initWithX:(float)x y:(float)y z:(float)z; -- (id)copyWithZone:(NSZone *)zone; - --(void) setPoint3D: (Point3D*)p; - --(void) add: (Point3D*)p; --(void) subtract: (Point3D*)p; --(void) multiply: (float)a; - --(NSMutableDictionary*) exportToXML; --(id) initWithDictionary: (NSDictionary*)xml; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreferencePaneController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreferencePaneController.h deleted file mode 100644 index ebab466..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreferencePaneController.h +++ /dev/null @@ -1,57 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - - - -@class AppController; - -/** \brief Window Controller for Preferences */ -@interface PreferencePaneController : NSWindowController -{ - int curPaneIndex; - NSPreferencePane *pane; - IBOutlet NSView *destView; - IBOutlet NSView *allView; - - NSMutableDictionary *bundles; -} - - -/** Set the Preference pane to display */ -- (void)setPane:(NSPreferencePane *)aPane; - -/** The current preference pane */ -- (NSPreferencePane *)pane; - -/** Action to select a pane */ -- (IBAction)selectPane:(id)sender; - -/** Return to the all Panes view */ -- (IBAction)showAll:(id)sender; - -/** Reset database to the default database */ -- (void) reopenDatabase; - -/** Action to go the next or previous preference pane */ -- (IBAction)nextAndPrevPane:(id)sender; - -/** Select the preference pane with the index */ -- (void)selectPaneIndex:(int) index; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreferencePaneControllerDCMTK.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreferencePaneControllerDCMTK.h deleted file mode 100644 index f77c5c7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreferencePaneControllerDCMTK.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "PreferencePaneController.h" - -/** \brief Category for DCMTK calls for PreferencePaneController*/ - -@interface PreferencePaneController (PreferencePaneControllerDCMTK) - -- (NSArray*) prepareDICOMFieldsArrays; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreviewView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreviewView.h deleted file mode 100644 index 8d737c2..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/PreviewView.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "DCMView.h" - -/** \brief Image/Frame View for BrowserController */ -@interface PreviewView : DCMView { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QTExportHTMLSummary.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QTExportHTMLSummary.h deleted file mode 100644 index d7fa7a9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QTExportHTMLSummary.h +++ /dev/null @@ -1,53 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -extern NSString* asciiString (NSString* name); - - -/** \brief Used for html export for disk burning*/ -@interface QTExportHTMLSummary : NSObject -{ - NSString *patientsListTemplate, *examsListTemplate, *seriesTemplate; // whole template - NSDictionary *patientsDictionary; - NSString *rootPath, *footerString; - int uniqueSeriesID; - NSDateFormatter *dateFormat, *timeFormat; -} - -+(NSString*)nonNilString:(NSString*)aString; -+ (void) getMovieWidth: (int*) width height: (int*) height imagesArray: (NSArray*) imagesArray; - -#pragma mark- -#pragma mark HTML template -- (void)readTemplates; -- (NSString*)fillPatientsListTemplates; -- (NSString*)fillStudiesListTemplatesForSeries:(NSArray*) series; -- (NSString*)fillSeriesTemplatesForSeries:(NSManagedObject*)series numberOfImages:(int)imagesCount; - -#pragma mark- -#pragma mark HTML file creation -- (void)createHTMLfiles; -- (void)createHTMLPatientsList; -- (void)createHTMLStudiesList; -- (void)createHTMLExtraDirectory; -- (void)createHTMLSeriesPage:(NSManagedObject*)series numberOfImages:(int)imagesCount outPutFileName:(NSString*)fileName; - -#pragma mark- -#pragma mark setters -- (void)setPath:(NSString*)path; -- (void)setPatientsDictionary:(NSDictionary*)dictionary; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryArrayController.h deleted file mode 100644 index 826cea9..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryArrayController.h +++ /dev/null @@ -1,45 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@class DCMTKRootQueryNode; - -/** \brief Controller for performing query */ -@interface QueryArrayController : NSObject -{ - DCMTKRootQueryNode *rootNode; - NSMutableDictionary *filters; - NSString *callingAET; - NSString *calledAET; - NSString *hostname; - NSString *port; - NSArray *queries; - NSDictionary *distantServer; - NSLock *queryLock; - int retrieveMode; -} - -- (id)initWithCallingAET:(NSString *) myAET distantServer: (NSDictionary*) ds; - -- (id)rootNode; -- (NSArray *)queries; - -- (void)addFilter:(id)filter forDescription:(NSString *)description; -- (void)sortArray:(NSArray *)sortDesc; -- (void)performQuery; -- (NSDictionary *)parameters; -- (void)performQuery: (BOOL) showError; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryController.h deleted file mode 100644 index 68afc8a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryController.h +++ /dev/null @@ -1,128 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import "QueryOutlineView.h" -#import "sourcesTableView.h" -#import - -@class QueryArrayController; -@class QueryFilter; - -/** \brief Window Controller for Q/R */ -@interface QueryController : NSWindowController { - - IBOutlet QueryOutlineView *outlineView; - IBOutlet NSProgressIndicator *progressIndicator; - IBOutlet NSSearchField *searchFieldName, *searchFieldRefPhysician, *searchFieldID, *searchFieldAN, *searchFieldStudyDescription; - - NSMutableArray *sourcesArray; - IBOutlet sourcesTableView *sourcesTable; - IBOutlet NSTextField *selectedResultSource; - IBOutlet NSTextField *numberOfStudies; - IBOutlet NSPopUpButton *presetsPopup; - - IBOutlet NSWindow *presetWindow; - IBOutlet NSTextField *presetName; - - IBOutlet NSMatrix *dateFilterMatrix; - IBOutlet NSMatrix *modalityFilterMatrix; - IBOutlet NSTabView *PatientModeMatrix; - IBOutlet NSDatePicker *fromDate, *toDate, *searchBirth; - IBOutlet NSPopUpButton *sendToPopup; - - int autoQueryRemainingSecs; - IBOutlet NSTextField *autoQueryCounter; - - - BOOL DatabaseIsEdited; - IBOutlet NSWindow *autoRetrieveWindow; - - NSMutableString *pressedKeys; - NSMutableArray *resultArray; - NSMutableArray *queryFilters; - NSMutableDictionary *previousAutoRetrieve; - - QueryFilter *dateQueryFilter, *timeQueryFilter, *modalityQueryFilter; - NSString *currentQueryKey, *queryArrayPrefs; - BOOL echoSuccess; - NSMutableDictionary *activeMoves; - int checkAndViewTry; - - NSImage *Realised3, *Realised2; - NSTimer *QueryTimer; - IBOutlet NSImageView *alreadyInDatabase, *partiallyInDatabase; - - QueryArrayController *queryManager; - - NSArray *studyArrayInstanceUID, *studyArrayCache; - NSTimeInterval lastComputeStudyArrayInstanceUID, lastListRefresh; - - BOOL autoQuery, queryButtonPressed, performingCFind; - - NSInteger autoRefreshQueryResults; - NSRecursiveLock *autoQueryLock; -} - -@property BOOL autoQuery; -@property NSInteger autoRefreshQueryResults; - -+ (QueryController*) currentQueryController; -+ (QueryController*) currentAutoQueryController; -+ (BOOL) echo: (NSString*) address port:(int) port AET:(NSString*) aet; -+ (BOOL) echoServer:(NSDictionary*)serverParameters; -+ (int) queryAndRetrieveAccessionNumber:(NSString*) an server: (NSDictionary*) aServer; -+ (NSArray*) queryStudyInstanceUID:(NSString*) an server: (NSDictionary*) aServer; - -- (void) autoRetrieveSettings: (id) sender; -- (void) saveSettings; -- (id) initAutoQuery: (BOOL) autoQuery; -- (IBAction) cancel:(id)sender; -- (IBAction) ok:sender; -- (void) refreshAutoQR: (id) sender; -- (void) refreshList: (NSArray*) l; -- (BOOL) queryWithDisplayingErrors:(BOOL) showError; -- (IBAction) selectUniqueSource:(id) sender; -- (void) refreshSources; -- (IBAction) retrieveAndViewClick: (id) sender; -- (IBAction) retrieveAndView: (id) sender; -- (IBAction) view:(id) sender; -- (NSArray*) queryPatientID:(NSString*) ID; -- (void) query:(id)sender; -- (void) retrieve:(id)sender; -- (void) retrieve:(id)sender onlyIfNotAvailable:(BOOL) onlyIfNotAvailable; -- (void) performQuery:(id)object; -- (void) performRetrieve:(NSArray*) array; -- (void) setDateQuery:(id)sender; -- (void) setModalityQuery:(id)sender; -- (void) clearQuery:(id)sender; -- (int) dicomEcho:(NSDictionary*) aServer; -- (IBAction) verify:(id)sender; -- (IBAction) abort:(id)sender; -- (IBAction) controlAction:(id)sender; -- (void) refresh: (id) sender; -- (void) refresh: (id) sender now: (BOOL) now; -- (IBAction) pressButtons:(id) sender; -- (NSArray*) localSeries:(id) item; -- (NSArray*) localStudy:(id) item; -- (IBAction) endAddPreset:(id) sender; -- (void) buildPresetsMenu; -- (IBAction) autoQueryTimer:(id) sender; -- (IBAction) switchAutoRetrieving: (id) sender; -- (IBAction) selectModality: (id) sender; -- (void) displayAndRetrieveQueryResults; -- (void) autoQueryThread; -- (void) autoQueryTimerFunction:(NSTimer*) t; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryFilter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryFilter.h deleted file mode 100644 index d4fed88..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryFilter.h +++ /dev/null @@ -1,49 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -enum searchTypes {searchContains = 0, searchStartsWith, searchEndsWith, searchExactMatch}; -enum dateSearchTypes {SearchToday = 4, searchYesterday, searchBefore, searchAfter, searchWithin, searchExactDate}; -enum dateWithinSearch {searchWithinToday = 10, searchWithinLast2Days, searchWithinLastWeek, searchWithinLast2Weeks, searchWithinLastMonth,searchWithinLast2Months, searchWithinLast3Months, searchWithinLastYear}; -enum modalities {osiCR = 0,osiCT,osiDX,osiES,osiMG,osiMR,osiNM,osiOT,osiPT,osiRF,osiSC,osiUS,osiXA}; -enum studyState {empty = 0,unread,reviewed,dictated}; - - -/** \brief Query Filter */ -@interface QueryFilter : NSObject { - id _key; - id _object; - int _searchType; - -} -+ (id)queryFilter; -+ (id)queryFilterWithObject:(id)object ofSearchType:(int)searchType forKey:(id)key; -- (id) initWithObject:(id)object ofSearchType:(int)searchType forKey:(id)key; - -- (id) key; -- (id) object; -- (int) searchType; -- (NSString *)filteredValue; - -- (void)setKey:(id)key; -- (void)setObject:(id)object; -- (void)setSearchType:(int)searchType; - -- (NSString *)withinDateString; - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryLogController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryLogController.h deleted file mode 100644 index 24237a1..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryLogController.h +++ /dev/null @@ -1,24 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief Array Controlle for query logs */ -@interface QueryLogController : NSArrayController { - -} - -- (IBAction)nothing:(id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryOutlineView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryOutlineView.h deleted file mode 100644 index 8f441c7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QueryOutlineView.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface QueryOutlineView : NSOutlineView { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QuicktimeExport.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QuicktimeExport.h deleted file mode 100644 index ef178a5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/QuicktimeExport.h +++ /dev/null @@ -1,43 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - - -/** \brief QuickTime export */ -@interface QuicktimeExport : NSObject { - - id object; - SEL selector; - long numberOfFrames; - unsigned long codec; - long quality; - - NSSavePanel *panel; - NSArray *exportTypes; - - IBOutlet NSView *view; - IBOutlet NSPopUpButton *type; -} - -+ (NSString*) generateQTVR:(NSString*) srcPath frames:(int) frames; -- (id) initWithSelector:(id) o :(SEL) s :(long) f; -- (NSString*) createMovieQTKit:(BOOL) openIt :(BOOL) produceFiles :(NSString*) name; -- (IBAction) changeExportType:(id) sender; -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROI.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROI.h deleted file mode 100644 index cbb6085..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROI.h +++ /dev/null @@ -1,404 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "MyPoint.h" - -#import - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -/** \brief Region of Interest -* -* Region of Interest on a 2D Image:\n -* Types\n -* tMesure = line\n -* tROI = Rectangle\n -* tOval = Oval\n -* tOPolygon = Open Polygon\n -* tCPolygon = Closed Polygon\n -* tAngle = Angle\n -* tText = Text\n -* tArrow = Arrow\n -* tPencil = Pencil\n -* t3Dpoint= 3D Point\n -* t2DPoint = 2D Point\n -* tPlain = Brush ROI\n -* tLayerROI = Layer Overlay\n -* tAxis = Axis\n -* tDynAngle = Dynamic Angle\n -*/ - -@interface ROI : NSObject -{ - NSLock *roiLock; - - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - - NSMutableArray *ctxArray; //All contexts where this texture is used - NSMutableArray *textArray; //All texture id - - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - BOOL _hasIsSpline, _isSpline; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - double pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - int PointUnderMouse; - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256], line6[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5, *textualBoxLine6; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - double _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer, canResizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; - - BOOL locked; - BOOL selectable; - BOOL isAliased; - int originalIndexForAlias; -} - -@property NSPoint imageOrigin; -@property(readonly) int textureWidth, textureHeight; -@property(readonly) int textureDownRightCornerX,textureDownRightCornerY, textureUpLeftCornerX, textureUpLeftCornerY; -@property(readonly) unsigned char *textureBuffer; -@property float opacity; -@property int originalIndexForAlias; -@property BOOL locked, selectable, isAliased; -@property(retain) NSString *name, *comments; -@property(readonly) long type; -@property(setter=setROIMode:) long ROImode; -@property(retain) NSMutableArray *points; // Return/set the points state of the ROI -@property(readonly) NSMutableArray *zPositions; -@property(readonly) BOOL clickInTextBox; -@property(setter=setROIRect:) NSRect rect; // To create a Rectangular ROI (tROI) or an Oval ROI (tOval) or a 2DPoint -@property(retain) DCMPix *pix; // The DCMPix associated to this ROI -@property(readonly) DCMView *curView; // The DCMView associated to this ROI -@property float mousePosMeasure; -@property(readonly) NSData *data; -@property(setter=setColor:) RGBColor rgbcolor; -@property float thickness; -@property(retain) ROI *parentROI; -@property double sliceThickness, pixelSpacingX, pixelSpacingY; -@property float min, max, mean; -@property(assign) NSColor* NSColor; -@property(assign) BOOL isSpline; - -- (void) setNSColor:(NSColor*)color globally:(BOOL)g; -- (void) setColor:(RGBColor) a globally: (BOOL) g; -- (void) setThickness:(float) a globally: (BOOL) g; -- (void) setOpacity:(float)newOpacity globally: (BOOL) g; - -/** Set default ROI name (if not set, then default name is the currentTool) */ -+ (void) setDefaultName:(NSString*) n; -/** Return the default name */ -+ (NSString*) defaultName; -+ (void) setFontHeight: (float) f; - -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -+ (BOOL) splineForROI; - -/** Load User Defaults */ -+(void) loadDefaultSettings; - -/** Save User Defaults */ -+(void) saveDefaultSettings; - -/** Create a new ROI, needs the current pixel resolution and image origin -* @param itype ROI Type -* @param ipixelSpacing Assumes pixel size is same in both x and y -* @param iimageOrigin Origin on image -*/ -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; - -/** Create a new ROI, needs the current pixel resolution x and y and image origin* @param itype ROI Type -* @param ipixelSpacingx Pixel width -* @param ipixelSpacingy Pixel height -* @param iimageOrigin Origin on image -*/ -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -/** arg: specific methods for tPlain roi -* @param tBuff Pointer to the texture buffer -* @param tWidth Texture width -* @param tHeight Texture height -* @param tName ROI Name -* @param posX Origin.x of texture upper left corner -* @param posY Origin.y of texture upper left corner -* @param ipixelSpacingx Pixel width -* @param ipixelSpacingy Pixel height -* @param iimageOrigin Origin on image -*/ -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - - -/** Set offset for text box */ -- (void) setTextBoxOffset:(NSPoint) o; - - -/** Prints info about texture to output */ -- (void)displayTexture; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -/** Compute the roiArea in cm2 */ -- (float) roiArea; - -/** Compute the geometric centroid in pixel space */ -- (NSPoint) centroid; - -/** Compute the length for tMeasure ROI in cm */ -- (float) MesureLength: (float*) pixels; - -/** Compute the length for between two points in cm */ -- (float) Length:(NSPoint) mesureA :(NSPoint) mesureB; -- (float) LengthFrom:(NSPoint) mesureA to:(NSPoint) mesureB inPixel: (BOOL) inPixel; - -/** Compute an angle between 2 lines */ -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -- (float*) dataValuesAsFloatPointer :(long*) no; -- (NSMutableArray*) dataValues; - - --(NSPoint)pointAtIndex:(NSUInteger)index; --(void)setPoint:(NSPoint)point atIndex:(NSUInteger)index; --(void)addPoint:(NSPoint)point; - -/** Find a point between two points -* @param a First point -* @param b Second point -* @param r Weighting bewtween the two points -*/ -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; - - -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - - -/** Update ROI on mouse down. For most rois this will be the origin of the ROI */ -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; - -/** Update ROI on mouse down in the current image. For most rois this will be the origin of the ROI */ -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; - -/** Move the ROI */ -- (void) roiMove:(NSPoint) offset; - -/** Move the ROI */ -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; - -/** Modify roi as mouse is dragged */ -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; - -/** Modify roi on mouse up */ -- (BOOL) mouseRoiUp:(NSPoint) pt; - -/** Returns YES if roi is valid */ -- (BOOL) valid; - -/** Draw the ROI */ -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (void) drawROIWithScaleValue:(float)scaleValue offsetX:(float)offsetx offsetY:(float)offsety pixelSpacingX:(float)spacingX pixelSpacingY:(float)spacingY highlightIfSelected:(BOOL)highlightIfSelected thickness:(float)thick prepareTextualData:(BOOL) prepareTextualData; - -/** Always returns NO */ -- (BOOL) needQuartz; - -/** Delete the current selected point */ -- (BOOL) deleteSelectedPoint; - -/** The info displayed in the text box */ -- (NSMutableDictionary*) dataString; - -/** Set the font */ -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; - -/** Returns an OpenGL string */ -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; - -/** Recompute */ -- (void) recompute; - -/** Rotate the ROI */ -- (void) rotate: (float) angle :(NSPoint) center; - -/** Test to see if ROI can be resized */ -- (BOOL)canResize; - -/** Resize ROI */ -- (void) resize: (float) factor :(NSPoint) center; - -/** Test to see if texture can be reduced */ -- (BOOL) reduceTextureIfPossible; - -/** Merge two brush ROI together */ -- (void) mergeWithTexture: (ROI*) r; - -/** Add a margin to the buffer */ -- (void) addMarginToBuffer: (int) margin; - -/** Draw text box for ROI */ -- (void) drawTextualData; - - -/** Test to see if point is in text box or ROI and returns the mode. -* Can be ROI_Selected or ROI_selectedModify if hit test is YES -*/ -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; - -/** Delete texture */ -- (void) deleteTexture:(NSOpenGLContext*) c; - - -/** Set cab resize layer */ -- (void) setCanResizeLayer:(BOOL)boo; -// Calcium Scoring -/** Cofactor for Calcium Score -* Cofactor values used by Agaston. -* Using a threshold of 90 rather than 130. Assuming -* multislice CT rather than electron beam. -* We could have a flag for Electron beam rather than multichannel CT -* and use 130 as a cutoff -* Based on Hounsfield density of Calcium -*/ -- (int)calciumScoreCofactor; -/** Calcium score -* roi Area * cofactor; area is is mm2. -*plainArea is number of pixels -*/ -- (float)calciumScore; - -/** Calcium volume -* area * thickness -*/ -- (float)calciumVolume; - -/** Calcium mass -* Volume * mean CT Density / 250 - */ -- (float)calciumMass; - -@property BOOL displayCalciumScoring; -@property int calciumThreshold; - -@property(retain) NSString *layerReferenceFilePath; -@property(retain) NSImage *layerImage; -@property float layerPixelSpacingX, layerPixelSpacingY; - -- (GLuint)loadLayerImageTexture; -- (void)generateEncodedLayerImage; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; -- (void) displayPointUnderMouse:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale; - -@property(retain) NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5, *textualBoxLine6; -@property NSTimeInterval groupID; - - -/** Lower right point of ROI */ -- (NSPoint) lowerRightPoint; - -@property BOOL isLayerOpacityConstant; -@property BOOL canColorizeLayer; -@property BOOL displayTextualData; -@property(readonly) NSPoint clickPoint; - --(NSMutableArray*)splinePoints; --(NSMutableArray*)splinePoints:(float) scale; --(NSMutableArray*)splineZPositions; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIDefaultsWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIDefaultsWindow.h deleted file mode 100644 index 69a7799..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIDefaultsWindow.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import "ROI.h" -#import "MyNSTextView.h" -#import "ViewerController.h" - -/** \brief Window Controller for ROI defaults */ - -@interface ROIDefaultsWindow : NSWindowController -{ - NSArray *roiNames; - -} -/** Set Name and closes Window */ -- (IBAction)setDefaultName:(id)sender; - -/** Set default name to nil */ -- (IBAction)unsetDefaultName:(id)sender; - -/** Default initializer */ -- (id)initWithController: (ViewerController*) c; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIManagerController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIManagerController.h deleted file mode 100644 index 3d3d931..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIManagerController.h +++ /dev/null @@ -1,44 +0,0 @@ -/*========================================================================= -Program: OsiriX - -Copyright (c) OsiriX Team -All rights reserved. -Distributed under GNU - LGPL - -See http://www.osirix-viewer.com/copyright.html for details. - -This software is distributed WITHOUT ANY WARRANTY; without even -the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. -=========================================================================*/ - - - -#import -#import "DCMView.h" -#import "DCMPix.h" -#import "ROI.h" -#import "ViewerController.h" - - -/** \brief Window Controller for ROI management */ - -@interface ROIManagerController : NSWindowController -{ - ViewerController *viewer; - IBOutlet NSTableView *tableView; - float pixelSpacingZ; -} - -/** Default initializer */ -- (id) initWithViewer:(ViewerController*) v; -/** Delete ROI */ -- (IBAction)deleteROI:(id)sender; - // Table view data source methods -- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView; -- (id)tableView:(NSTableView *)aTableView - objectValueForTableColumn:(NSTableColumn *)aTableColumn - row:(NSInteger)rowIndex; -- (void) roiListModification :(NSNotification*) note; -- (void) fireUpdate: (NSNotification*) note; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROISRConverter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROISRConverter.h deleted file mode 100644 index f123239..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROISRConverter.h +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -/** \brief Converts between SR and ROI */ -@interface ROISRConverter : NSObject - -/** Extracts ROI as NSData from a DICOM SR -* @param path File path -*/ -+ (NSData *) roiFromDICOM:(NSString *)path; - -/** Creates a DICOM SR from an array of ROIs -* @param rois Array of ROI to archive -* @param path Path to file -* @param image the image related to the ROI array -*/ -+ (NSString*) archiveROIsAsDICOM:(NSArray *)rois toPath:(NSString *)path forImage:(id)image; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolume.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolume.h deleted file mode 100644 index 5eb3ba4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolume.h +++ /dev/null @@ -1,153 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - - -#import -#import "DCMPix.h" -#import "DCMView.h" -#import "ROI.h" - -#define id Id -#include "vtkSphereSource.h" -#include "vtkGlyph3D.h" -#include "vtkSurfaceReconstructionFilter.h" -#include "vtkReverseSense.h" -#include "vtkCommand.h" -#include "vtkShrinkFilter.h" -#include "vtkDelaunay3D.h" -#include "vtkDelaunay2D.h" -#include "vtkProperty.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" - -#include "vtkPlane.h" -#include "vtkPlanes.h" -#include "vtkPlaneSource.h" -#include "vtkBoxWidget.h" -#include "vtkPlaneWidget.h" -#include "vtkPiecewiseFunction.h" -#include "vtkPiecewiseFunction.h" -#include "vtkColorTransferFunction.h" -#include "vtkVolumeProperty.h" -#include "vtkVolumeRayCastCompositeFunction.h" -#include "vtkVolumeRayCastMapper.h" -#include "vtkVolumeRayCastMIPFunction.h" - -#include "vtkTransform.h" -#include "vtkSphere.h" -#include "vtkImplicitBoolean.h" -#include "vtkExtractGeometry.h" -#include "vtkDataSetMapper.h" -#include "vtkPicker.h" -#include "vtkCellPicker.h" -#include "vtkPointPicker.h" -#include "vtkLineSource.h" -#include "vtkPolyDataMapper2D.h" -#include "vtkActor2D.h" -#include "vtkExtractPolyDataGeometry.h" -#include "vtkProbeFilter.h" -#include "vtkCutter.h" -#include "vtkTransformPolyDataFilter.h" -#include "vtkXYPlotActor.h" -#include "vtkClipPolyData.h" -#include "vtkBox.h" -#include "vtkCallbackCommand.h" -#include "vtkImageResample.h" -#include "vtkDecimatePro.h" -#include "vtkSmoothPolyDataFilter.h" -#include "vtkImageFlip.h" -#include "vtkTextActor.h" -#include "vtkPolyDataNormals.h" -#include "vtkFrustumCoverageCuller.h" -#include "vtkGeometryFilter.h" -#include "vtkTIFFReader.h" -#include "vtkTexture.h" -#include "vtkTextureMapToSphere.h" -#include "vtkTransformTextureCoords.h" -#include "vtkPowerCrustSurfaceReconstruction.h" - -#undef id - -/** \brief creates volume from stack of Brush ROIs */ - -@interface ROIVolume : NSObject { - NSMutableArray *roiList; - vtkActor *roiVolumeActor; - vtkTexture *textureImage; - float volume, red, green, blue, opacity, factor; - NSColor *color; - BOOL visible, textured; - NSString *name; - - NSMutableDictionary *properties; -} - -- (void) setTexture: (BOOL) o; -- (BOOL) texture; - -- (void) setROIList: (NSArray*) newRoiList; -- (void) prepareVTKActor; - -- (BOOL) isVolume; -- (NSValue*) roiVolumeActor; -- (BOOL) isRoiVolumeActorComputed; - -- (float) volume; - -- (NSColor*) color; -- (void) setColor: (NSColor*) c; - -- (float) red; -- (void) setRed: (float) r; -- (float) green; -- (void) setGreen: (float) g; -- (float) blue; -- (void) setBlue: (float) b; -- (float) opacity; -- (void) setOpacity: (float) o; - -- (float) factor; -- (void) setFactor: (float) f; - -- (BOOL) visible; -- (void) setVisible: (BOOL) d; - -- (NSString*) name; - -- (NSDictionary*) properties; - -- (NSMutableDictionary*)displayProperties; -- (void)setDisplayProperties:(NSDictionary*)newProperties; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeController.h deleted file mode 100644 index 82b3fbe..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeController.h +++ /dev/null @@ -1,48 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "DCMPix.h" -#import "ViewerController.h" -#import "Window3DController.h" - -@class ROIVolumeView; - -/** \brief Window Controller for ROI Volume display */ - -@interface ROIVolumeController : Window3DController -{ - IBOutlet ROIVolumeView *view; - IBOutlet NSTextField *volumeField, *seriesName; - - IBOutlet NSButton *showSurfaces, *showPoints, *showWireframe, *textured, *color; - IBOutlet NSColorWell *colorWell; - IBOutlet NSSlider *opacity; - - ViewerController *viewer; - ROI *roi; -} - -@property (readonly) NSTextField *volumeField, *seriesName; - -- (id) initWithPoints:(NSMutableArray*) pts :(float) volume :(ViewerController*) iviewer roi:(ROI*) iroi; -- (IBAction) changeParameters:(id) sender; -- (void) setDataString:(NSString*) s volume:(NSString*) v; -- (ViewerController*) viewer; -- (ROI*) roi; -- (IBAction) reload:(id)sender; -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeManagerController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeManagerController.h deleted file mode 100644 index 727278e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeManagerController.h +++ /dev/null @@ -1,36 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - =========================================================================*/ - -#import -#import "Window3DController.h" - -/** \brief Window Controller for managing ROIVolume collection */ - -@interface ROIVolumeManagerController : NSWindowController -{ - Window3DController *viewer; - IBOutlet NSTableView *tableView; - IBOutlet NSTableColumn *columnDisplay, *columnName, *columnVolume, *columnRed, *columnGreen, *columnBlue, *columnOpacity; - NSMutableArray *roiVolumes;//, *displayRoiVolumes; - IBOutlet NSArrayController *roiVolumesController; - IBOutlet NSObjectController *controllerAlias; -} - -- (id) initWithViewer:(Window3DController*) v; - // Table view data source methods -- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView; -- (void) setRoiVolumes: (NSMutableArray*) volumes; -- (NSMutableArray*) roiVolumes; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeView.h deleted file mode 100644 index 297e89b..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIVolumeView.h +++ /dev/null @@ -1,145 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. - - - ROIVolumeView creates and displays an ROI Volume created feom a stack of 2D ROIs -=========================================================================*/ - -#import -#import "VTKView.h" -#import "DCMPix.h" -#import "Camera.h" - -#define id Id -#include "vtkSphereSource.h" -#include "vtkGlyph3D.h" -#include "vtkSurfaceReconstructionFilter.h" -#include "vtkReverseSense.h" -#include "vtkCommand.h" -#include "vtkShrinkFilter.h" -#include "vtkDelaunay3D.h" -#include "vtkDelaunay2D.h" -#include "vtkProperty.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkOrientationMarkerWidget.h" -#include "vtkAnnotatedCubeActor.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" -#include "vtkTextProperty.h" -#include "vtkPlane.h" -#include "vtkPlanes.h" -#include "vtkPlaneSource.h" -#include "vtkBoxWidget.h" -#include "vtkPlaneWidget.h" -#include "vtkPiecewiseFunction.h" -#include "vtkPiecewiseFunction.h" -#include "vtkColorTransferFunction.h" -#include "vtkVolumeProperty.h" -#include "vtkVolumeRayCastCompositeFunction.h" -#include "vtkVolumeRayCastMapper.h" -#include "vtkVolumeRayCastMIPFunction.h" - -#include "vtkTransform.h" -#include "vtkSphere.h" -#include "vtkImplicitBoolean.h" -#include "vtkExtractGeometry.h" -#include "vtkDataSetMapper.h" -#include "vtkPicker.h" -#include "vtkCellPicker.h" -#include "vtkPointPicker.h" -#include "vtkLineSource.h" -#include "vtkPolyDataMapper2D.h" -#include "vtkActor2D.h" -#include "vtkExtractPolyDataGeometry.h" -#include "vtkProbeFilter.h" -#include "vtkCutter.h" -#include "vtkTransformPolyDataFilter.h" -#include "vtkXYPlotActor.h" -#include "vtkClipPolyData.h" -#include "vtkBox.h" -#include "vtkCallbackCommand.h" -#include "vtkImageResample.h" -#include "vtkDecimatePro.h" -#include "vtkSmoothPolyDataFilter.h" -#include "vtkImageFlip.h" -#include "vtkTextActor.h" -#include "vtkPolyDataNormals.h" -#include "vtkFrustumCoverageCuller.h" -#include "vtkGeometryFilter.h" -#include "vtkTIFFReader.h" -#include "vtkTexture.h" -#include "vtkTextureMapToSphere.h" -#include "vtkTransformTextureCoords.h" -#include "vtkPowerCrustSurfaceReconstruction.h" -#include "vtkTriangleFilter.h" -#undef id - -class vtkMyCallback; - -#include -#import "ViewerController.h" -#import "WaitRendering.h" - -@class Camera; - -/** \brief View for ROI Volume */ - -@interface ROIVolumeView : VTKView -{ - vtkRenderer *aRenderer; - vtkCamera *aCamera; - - vtkActor *ballActor; - vtkActor *roiVolumeActor; - vtkTexture *texture; - - vtkActor *outlineRect; - vtkPolyDataMapper *mapOutline; - vtkOutlineFilter *outlineData; - vtkOrientationMarkerWidget *orientationWidget; - - vtkImageImport *reader; - - NSArray *_points3D; - BOOL computeMedialSurface; - -} - - -- (short) setPixSource:(NSMutableArray*)pts; -- (void) setROIActorVolume:(NSValue*)roiActorPointer; -- (void) setOpacity: (float) opacity showPoints: (BOOL) sp showSurface: (BOOL) sS showWireframe:(BOOL) w texture:(BOOL) tex useColor:(BOOL) usecol color:(NSColor*) col; -- (IBAction) exportDICOMFile:(id) sender; -- (short) renderVolume; -- (NSSet *)connectedPointsForPoint:(vtkIdType)pt fromPolyData:(vtkPolyData *)data; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIWindow.h deleted file mode 100644 index 9e0b3fb..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ROIWindow.h +++ /dev/null @@ -1,64 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "ROI.h" -#import "MyNSTextView.h" -#import "ViewerController.h" - -/** \brief Window Controller for ROI */ - -@interface ROIWindow : NSWindowController { - - ROI *curROI; - ViewerController *curController; - - BOOL loaded; - IBOutlet NSButton *allWithSameName; - - IBOutlet NSComboBox *name; - IBOutlet MyNSTextView *comments; - IBOutlet NSColorWell *colorButton; - IBOutlet NSSlider *thicknessSlider, *opacitySlider; - IBOutlet NSButton *recalibrate; - IBOutlet NSButton *xyPlot; - IBOutlet NSButton *exportToXMLButton; - IBOutlet NSWindow *recalibrateWindow; - IBOutlet NSTextField *recalibrateValue; - - NSMutableArray *roiNames; - - NSTimer *getName; - - NSString *previousName; -} -- (IBAction)acceptSheet:(id)sender; -- (IBAction) recalibrate:(id) sender; -- (id) initWithROI: (ROI*) iroi :(ViewerController*) c; -- (IBAction) exportData:(id) sender; -- (IBAction) histogram:(id) sender; -- (IBAction) plot:(id) sender; -- (ROI*) curROI; -- (IBAction) setColor:(NSColorWell*) sender; -- (IBAction) setThickness:(NSSlider*) sender; -- (IBAction) setOpacity:(NSSlider*) sender; -- (IBAction) setTextData:(id) sender; -- (IBAction) roiSaveCurrent: (id) sender; -- (void) setROI: (ROI*) iroi :(ViewerController*) c; -- (BOOL) allWithSameName; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ReportPluginFilter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ReportPluginFilter.h deleted file mode 100644 index 8af4017..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ReportPluginFilter.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "PluginFilter.h" - -/** \brief Report Plugin Filter base class */ -@interface ReportPluginFilter : PluginFilter { - -} - -- (BOOL)createReportForStudy:(id)study; -- (BOOL)deleteReportForStudy:(id)study; -- (NSDate *)reportDateForStudy:(id)study; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Reports.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Reports.h deleted file mode 100644 index 1f0645c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Reports.h +++ /dev/null @@ -1,41 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -/** \brief reports */ -@interface Reports : NSObject -{ - ComponentInstance myComponent; - NSMutableString *templateName; -} - -+ (NSString*) getUniqueFilename:(NSManagedObject*) study; -+ (NSString*) getOldUniqueFilename:(NSManagedObject*) study; - -- (NSString*) generateReportSourceData:(NSManagedObject*) study; -- (void) runScript:(NSString *)txt; -- (NSString *) reportScriptBody:(NSManagedObject*) study path:(NSString*) path; -- (BOOL) createNewReport:(NSManagedObject*) study destination:(NSString*) path type:(int) type; - -- (void)searchAndReplaceFieldsFromStudy:(NSManagedObject*)aStudy inString:(NSMutableString*)aString; -- (NSString*)generatePagesReportScriptUsingTemplate:(NSString*)aTemplate completeFilePath:(NSString*)aFilePath; -- (BOOL) createNewPagesReportForStudy:(NSManagedObject*)aStudy toDestinationPath:(NSString*)aPath; -- (BOOL) createNewOpenDocumentReportForStudy:(NSManagedObject*)aStudy toDestinationPath:(NSString*)aPath; -+ (NSMutableArray*)pagesTemplatesList; -- (NSMutableString *)templateName; -- (void)setTemplateName:(NSString *)aName; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRAnnotation.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRAnnotation.h deleted file mode 100644 index fab0245..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRAnnotation.h +++ /dev/null @@ -1,54 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -#ifdef __cplusplus -#include "dsrdoc.h" -#else -typedef char DSRDocument; -#endif - -#import "ROI.h" - -@interface SRAnnotation : NSObject -{ - DSRDocument *document; - id image; - NSArray *_rois; - BOOL _newSR; - NSString *_seriesInstanceUID; -} - -+ (NSString*) getImageRefSOPInstanceUID:(NSString*) path; -+ (NSString*) getFilenameFromSR:(NSString*) path; -- (id)initWithROIs:(NSArray *)ROIs path:(NSString *)path forImage:(NSManagedObject*) im; -- (id)initWithContentsOfFile:(NSString *)path; -- (id)initWithDictionary:(NSDictionary *) dict path:(NSString *) path forImage: (NSManagedObject*) im; -- (id)initWithFile:(NSString *) file path:(NSString *) path forImage: (NSManagedObject*) im; -- (void)addROIs:(NSArray *)someROIs; -- (void)addROI:(ROI *)aROI; -- (NSArray *)ROIs; -- (BOOL)writeToFileAtPath:(NSString *)path; -- (void)saveAsHTML; -- (NSString *)seriesInstanceUID; -- (void)setSeriesInstanceUID: (NSString *)seriesInstanceUID; -- (NSString *)sopInstanceUID; -- (NSString *)sopClassUID; -- (NSString *)seriesDescription; -- (NSString *)seriesNumber; -- (int)frameIndex; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRArrayController.h deleted file mode 100644 index bb736e8..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRArrayController.h +++ /dev/null @@ -1,25 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - - -/** \brief Controller for a StructuredReport array */ - -@interface SRArrayController : NSArrayController { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRController.h deleted file mode 100644 index 50f83b4..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRController.h +++ /dev/null @@ -1,219 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DCMPix.h" -#import "ColorTransferView.h" -#import "ViewerController.h" -#import "Window3DController.h" - -// Fly Thru -#import "FlyThruController.h" -#import "FlyThru.h" -#import "SRFlyThruAdapter.h" - -// ROIs Volumes -#define roi3Dvolume - -@class SRView; -@class ROIVolume; - - -/** \brief Window Controller for Surface Rendering */ -@interface SRController : Window3DController -{ - IBOutlet NSSlider *LODSlider; - IBOutlet NSView *toolsView, *LODView, *BlendingView, *export3DView, *perspectiveView; - IBOutlet SRView *view; - - IBOutlet NSView *OrientationsView; - - IBOutlet NSView *BackgroundColorView; - - IBOutlet NSWindow *SRSettingsWindow; - IBOutlet NSButton *checkFirst, *checkSecond; - IBOutlet NSTextField *firstValue, *secondValue; - IBOutlet NSSlider *resolSlide, *firstTrans, *secondTrans; - IBOutlet NSPopUpButton *firstPopup, *secondPopup; - - - IBOutlet NSWindow *BSRSettingsWindow; - IBOutlet NSButton *BcheckFirst, *BcheckSecond; - IBOutlet NSTextField *BfirstValue, *BsecondValue; - IBOutlet NSSlider *BresolSlide, *BfirstTrans, *BsecondTrans; - IBOutlet NSPopUpButton *BfirstPopup, *BsecondPopup; - IBOutlet NSColorWell *BfirstColor, *BsecondColor; - - IBOutlet NSMatrix *preprocessMatrix; - IBOutlet NSTextField *decimate, *smooth; - - IBOutlet NSMatrix *BpreprocessMatrix; - IBOutlet NSTextField *Bdecimate, *Bsmooth; - - NSToolbar *toolbar; - NSMutableArray *pixList; - NSArray *fileList; - - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - BOOL blending; - NSData *blendingVolumeData; - NSMutableArray *blendingPixList; - ViewerController *blendingController; - - NSData *volumeData; - - // Fly Thru - SRFlyThruAdapter *FTAdapter; - - // 3D Points - ViewerController *viewer2D; - NSMutableArray *roi2DPointsArray, *sliceNumber2DPointsArray, *x2DPointsArray, *y2DPointsArray, *z2DPointsArray; - - // ROIs Volumes - NSMutableArray *roiVolumes; - - float _firstSurface, _secondSurface, _resolution, _firstTransparency, _secondTransparency, _decimate; - int _smooth; - NSColor *_firstColor, *_secondColor; - BOOL _shouldDecimate; - BOOL _shouldSmooth; - BOOL _useFirstSurface; - BOOL _useSecondSurface; - - BOOL _shouldRenderFusion; - - float _fusionFirstSurface, _fusionSecondSurface, _fusionResolution, _fusionFirstTransparency, _fusionSecondTransparency, _fusionDecimate; - int _fusionSmooth; - NSColor *_fusionFirstColor, *_fusionSecondColor; - BOOL _fusionShouldDecimate; - BOOL _fusionShouldSmooth; - BOOL _fusionUseFirstSurface; - BOOL _fusionUseSecondSurface; - - NSTimeInterval flyThruRecordingTimeFrame; - -} - -- (IBAction) setOrientation:(id) sender; -- (ViewerController*) blendingController; -- (id) initWithPix:(NSMutableArray*) pix :(NSArray*) f :(NSData*) vData :(ViewerController*) bC :(ViewerController*) vC; -- (void) setupToolbar; -- (void) setDefaultTool:(id) sender; -- (IBAction) ApplySettings:(id) sender; -- (void) ChangeSettings:(id) sender; -- (IBAction) SettingsPopup:(id) sender; -- (IBAction) BApplySettings:(id) sender; -- (void) BChangeSettings:(id) sender; -- (IBAction) BSettingsPopup:(id) sender; -- (NSArray*) fileList; - -- (IBAction)flyThruButtonMenu:(id)sender; -- (IBAction)flyThruControllerInit:(id)sender; -- (void)recordFlyThru; - -// 3D Points -- (void) add2DPoint: (float) x : (float) y : (float) z; -- (void) remove2DPoint: (float) x : (float) y : (float) z; -- (void) add3DPoint: (NSNotification*) note; -- (void) remove3DPoint: (NSNotification*) note; - -- (void) createContextualMenu; - -- (ViewerController *) viewer2D; -- (void)renderSurfaces; -- (void)renderFusionSurfaces; - -#ifdef roi3Dvolume -// ROIs Volumes -- (void) computeROIVolumes; -- (NSMutableArray*) roiVolumes; -//- (void) displayROIVolumeAtIndex: (int) index; -- (void) displayROIVolume: (ROIVolume*) v; -//- (void) hideROIVolumeAtIndex: (int) index; -- (void) hideROIVolume: (ROIVolume*) v; -- (void) displayROIVolumes; -- (IBAction) roiGetManager:(id) sender; -#endif - -//Surface values - -- (float) firstSurface; -- (float) secondSurface; -- (float) resolution; -- (float) firstTransparency; -- (float) secondTransparency; -- (float) decimate; -- (int)smooth; -- (NSColor *) firstColor; -- (NSColor *) secondColor; -- (BOOL) shouldDecimate; -- (BOOL) shouldSmooth; -- (BOOL) useFirstSurface; -- (BOOL) useSecondSurface; - -- (void) setFirstSurface:(float)pixelValue; -- (void) setSecondSurface:(float)pixelValue; -- (void) setResolution:(float)resolution; -- (void) setFirstTransparency:(float)transparency; -- (void) setSecondTransparency:(float)transparency; -- (void) setDecimate:(float)decimateItr; -- (void) setSmooth:(int)iteration; -- (void) setFirstColor:(NSColor *)color; -- (void) setSecondColor: (NSColor *)color; -- (void) setShouldDecimate: (BOOL)shouldDecimate; -- (void) setShouldSmooth: (BOOL)shouldSmooth; -- (void) setUseFirstSurface:(BOOL)useSurface; -- (void) setUseSecondSurface:(BOOL)useSurface; - -//fusion Surface values - -- (float) fusionFirstSurface; -- (float) fusionSecondSurface; -- (float) fusionResolution; -- (float) fusionFirstTransparency; -- (float) fusionSecondTransparency; -- (float) fusionDecimate; -- (int) fusionSmooth; -- (NSColor *) fusionFirstColor; -- (NSColor *) fusionSecondColor; -- (BOOL) fusionShouldDecimate; -- (BOOL) fusionShouldSmooth; -- (BOOL) fusionUseFirstSurface; -- (BOOL) fusionUseSecondSurface; - -- (BOOL) shouldRenderFusion; - -- (void) setFusionFirstSurface:(float)pixelValue; -- (void) setFusionSecondSurface:(float)pixelValue; -- (void) setFusionResolution:(float)resolution; -- (void) setFusionFirstTransparency:(float)transparency; -- (void) setFusionSecondTransparency:(float)transparency; -- (void) setFusionDecimate:(float)decimateItr; -- (void) setFusionSmooth:(int)iteration; -- (void) setFusionFirstColor:(NSColor *)color; -- (void) setFusionSecondColor: (NSColor *)color; -- (void) setFusionShouldDecimate: (BOOL)shouldDecimate; -- (void) setFusionShouldSmooth: (BOOL)shouldSmooth; -- (void) setFusionUseFirstSurface:(BOOL)useSurface; -- (void) setFusionUseSecondSurface:(BOOL)useSurface; -- (void) setShouldRenderFusion:(BOOL)shouldRenderFusion; - -@end - - - - - - \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRFlyThruAdapter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRFlyThruAdapter.h deleted file mode 100644 index 3bb4379..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRFlyThruAdapter.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "FlyThruAdapter.h" - -@class SRController; - -/** \brief FlyThruAdapter for Surface Rendering -* -* Surface Rendering FlyThruAdapter -*/ - -@interface SRFlyThruAdapter : FlyThruAdapter { - -} - -- (id) initWithSRController: (SRController*) aSRController; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRView.h deleted file mode 100644 index ab4803b..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SRView.h +++ /dev/null @@ -1,363 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -#import "DCMPix.h" -#import "Camera.h" - -#ifdef __cplusplus -#import "VTKView.h" -#define id Id -#include "vtkCommand.h" -#include "vtkProperty.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" - -#include "vtkPlane.h" -#include "vtkPlanes.h" -#include "vtkPlaneSource.h" -#include "vtkBoxWidget.h" -#include "vtkPlaneWidget.h" -#include "vtkPiecewiseFunction.h" -#include "vtkPiecewiseFunction.h" -#include "vtkColorTransferFunction.h" -#include "vtkVolumeProperty.h" -#include "vtkVolumeRayCastCompositeFunction.h" -#include "vtkVolumeRayCastMapper.h" -#include "vtkVolumeRayCastMIPFunction.h" - -#include "vtkTransform.h" -#include "vtkSphere.h" -#include "vtkImplicitBoolean.h" -#include "vtkExtractGeometry.h" -#include "vtkDataSetMapper.h" -#include "vtkPicker.h" -#include "vtkCellPicker.h" -#include "vtkPointPicker.h" -#include "vtkLineSource.h" -#include "vtkPolyDataMapper2D.h" -#include "vtkActor2D.h" -#include "vtkExtractPolyDataGeometry.h" -#include "vtkProbeFilter.h" -#include "vtkCutter.h" -#include "vtkTransformPolyDataFilter.h" -#include "vtkXYPlotActor.h" -#include "vtkClipPolyData.h" -#include "vtkBox.h" -#include "vtkCallbackCommand.h" -#include "vtkImageResample.h" -#include "vtkDecimatePro.h" -#include "vtkSmoothPolyDataFilter.h" -#include "vtkImageFlip.h" -#include "vtkTextActor.h" -#include "vtkAnnotatedCubeActor.h" -#include "vtkOrientationMarkerWidget.h" -#include "vtkTextProperty.h" -#undef id - -class vtkMyCallback; - -#else -typedef char* vtkTransform; -typedef char* vtkImageActor; -typedef char* vtkImageMapToColors; -typedef char* vtkLookupTable; -typedef char* vtkImageReslice; -typedef char* vtkImageImport; -typedef char* vtkCamera; -typedef char* vtkActor; -typedef char* vtkPolyDataMapper; -typedef char* vtkOutlineFilter; -typedef char* vtkLineWidget; - -typedef char* vtkTextActor; -typedef char* vtkVolumeRayCastMapper; -typedef char* vtkVolumeRayCastMIPFunction; -typedef char* vtkVolume; - - -typedef char* vtkPiecewiseFunction; -typedef char* vtkVolumeTextureMapper2D; -typedef char* vtkPolyData; -typedef char* vtkVolumeProperty; -typedef char* vtkPolyDataMapper2D; - -typedef char* vtkColorTransferFunction; -typedef char* vtkActor2D; -typedef char* vtkMyCallback; -typedef char* vtkPlaneWidget; -typedef char* vtkBoxWidget; -typedef char* vtkImageFlip; -typedef char* vtkImageResample; -typedef char* vtkMatrix4x4; -typedef char* vtkDecimatePro; -typedef char* vtkSmoothPolyDataFilter; -typedef char* vtkContourFilter; -typedef char* vtkPolyDataNormals; -typedef char* vtkRenderer; -typedef char* vtkOrientationMarkerWidget; - -#endif - -#include -#import "ViewerController.h" -#import "WaitRendering.h" - -@class Camera; -@class SRController; -@class DICOMExport; - - -/** \brief Surface Rendering View */ -#ifdef __cplusplus -@interface SRView : VTKView -#else -@interface SRView : NSObject -#endif -{ - int projectionMode; - NSMutableArray *blendingPixList; - DCMPix *blendingLastObject, *blendingFirstObject; - float *blendingData, blendingFactor; - ViewerController *blendingController; - vtkImageImport *blendingReader; - vtkImageFlip *flip, *blendingFlip; - - vtkTextActor *textX; - vtkTextActor *oText[ 4]; - - NSCursor *cursor; - BOOL cursorSet; - - NSMutableArray *pixList; - DCMPix *firstObject; - float *data, *dataFRGB; - short currentTool; - float cosines[ 9]; - float blendingcosines[ 9]; - - IBOutlet NSWindow *export3DWindow; - IBOutlet NSSlider *framesSlider; - IBOutlet NSMatrix *rotation; - - IBOutlet NSWindow *export3DVRWindow; - IBOutlet NSMatrix *VRFrames; - - IBOutlet NSColorWell *backgroundColor; - - double camPosition[ 3]; - double camFocal[ 3]; - - long numberOfFrames; - float rotationValue; - long rotationOrientation; - -// vtkCallbackCommand *cbStart; - - // DICOM export - IBOutlet NSWindow *exportDCMWindow; - IBOutlet NSSlider *dcmframesSlider; - IBOutlet NSMatrix *dcmExportMode, *dcmrotation, *dcmorientation; - IBOutlet NSBox *dcmBox; - IBOutlet NSTextField *dcmSeriesName; - - vtkRenderer *aRenderer; - vtkCamera *aCamera; - - vtkActor *outlineRect; - vtkPolyDataMapper *mapOutline; - vtkOutlineFilter *outlineData; - - vtkImageImport *reader; - - BOOL noWaitDialog; - WaitRendering *splash; - DICOMExport *exportDCM; - - vtkImageResample *isoResample; - vtkDecimatePro *isoDeci[ 2]; - vtkSmoothPolyDataFilter *isoSmoother[ 2]; - vtkContourFilter *isoExtractor [ 2]; - vtkPolyDataNormals *isoNormals [ 2]; - vtkPolyDataMapper *isoMapper [ 2]; - vtkActor *iso [ 2]; - - vtkImageResample *BisoResample; - vtkDecimatePro *BisoDeci[ 2]; - vtkSmoothPolyDataFilter *BisoSmoother[ 2]; - vtkContourFilter *BisoExtractor [ 2]; - vtkPolyDataNormals *BisoNormals [ 2]; - vtkPolyDataMapper *BisoMapper [ 2]; - vtkActor *Biso [ 2]; - - vtkMatrix4x4 *matrice; - vtkMatrix4x4 *matriceBlending; - vtkOrientationMarkerWidget *orientationWidget; - - NSDate *startRenderingTime; - - NSMutableArray *point3DActorArray; - NSMutableArray *point3DPositionsArray; - NSMutableArray *point3DRadiusArray; - NSMutableArray *point3DColorsArray; - - NSMutableArray *point3DDisplayPositionArray; - NSMutableArray *point3DTextArray; - NSMutableArray *point3DPositionsStringsArray; - NSMutableArray *point3DTextSizesArray; - NSMutableArray *point3DTextColorsArray; - - BOOL display3DPoints; - IBOutlet NSPanel *point3DInfoPanel; - IBOutlet NSTextField *point3DPositionTextField; - IBOutlet NSButton *point3DDisplayPositionButton; - IBOutlet NSSlider *point3DRadiusSlider, *point3DTextSizeSlider; - IBOutlet NSColorWell *point3DColorWell, *point3DTextColorWell; - IBOutlet NSButton *point3DPropagateToAll, *point3DSetDefault; - IBOutlet SRController *controller; - float point3DDefaultRadius, point3DDefaultColorRed, point3DDefaultColorGreen, point3DDefaultColorBlue, point3DDefaultColorAlpha; - - BOOL _dragInProgress; - NSTimer *_mouseDownTimer; - NSImage *destinationImage; - - NSPoint _mouseLocStart; // mouseDown start point - BOOL _resizeFrame; - short _tool; - - NSRect savedViewSizeFrame; - - // 3DConnexion SpaceNavigator - NSTimer *snCloseEventTimer; - BOOL snStopped; - UInt16 snConnexionClientID; -} - --(unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; --(NSDate*) startRenderingTime; --(void) newStartRenderingTime; --(void) runRendering; --(void) startRendering; --(void) stopRendering; --(void) setViewSizeToMatrix3DExport; --(void) setCurrentTool:(short) i; --(id) initWithFrame:(NSRect)frame; --(short) setPixSource:(NSMutableArray*)pix :(float*) volumeData; --(void) dealloc; --(void) setBlendingPixSource:(ViewerController*) bC; -- (void) changeActor:(long) actor :(float) resolution :(float) transparency :(float) r :(float) g :(float) b :(float) isocontour :(BOOL) useDecimate :(float) decimateVal :(BOOL) useSmooth :(long) smoothVal; --(void) deleteActor:(long) actor; --(void) BchangeActor:(long) actor :(float) resolution :(float) transparency :(float) r :(float) g :(float) b :(float) isocontour :(BOOL) useDecimate :(float) decimateVal :(BOOL) useSmooth :(long) smoothVal; --(void) BdeleteActor:(long) actor; --(IBAction) endQuicktimeSettings:(id) sender; --(IBAction) exportQuicktime :(id) sender; --(IBAction) endQuicktimeVRSettings:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; --(IBAction) endDCMExportSettings:(id) sender; --(void) exportDICOMFile:(id) sender; --(float) rotation; --(float) numberOfFrames; --(void) Azimuth:(float) z; --(void) Vertical:(float) a; --(NSImage*) nsimageQuicktime; --(NSImage*) nsimage:(BOOL) q; --(IBAction) export3DFileFormat :(id) sender; --(IBAction) SwitchStereoMode :(id) sender; -- (void) setCamera: (Camera*) cam; -- (Camera*) camera; --(void) switchOrientationWidget:(id) sender; -- (void) computeOrientationText; -- (void) getOrientation: (float*) o; --(void) saView:(id) sender; --(void) axView:(id) sender; --(void) coView:(id) sender; --(void) saViewOpposite:(id) sender; -- (IBAction)changeColor:(id)sender; --(IBAction) switchProjection:(id) sender; --(void) restoreViewSizeAfterMatrix3DExport; - -// 3D Points -- (void) add3DPoint: (double) x : (double) y : (double) z : (float) radius : (float) r : (float) g : (float) b; -- (void) add3DPoint: (double) x : (double) y : (double) z; -- (void) add3DPointActor: (vtkActor*) actor; -- (void) addRandomPoints: (int) n : (int) r; -- (void) throw3DPointOnSurface: (double) x : (double) y; -- (void) setDisplay3DPoints: (BOOL) on; -- (void) toggleDisplay3DPoints; -- (BOOL) isAny3DPointSelected; -- (unsigned int) selected3DPointIndex; -- (void) unselectAllActors; -- (void) remove3DPointAtIndex: (unsigned int) index; -- (void) removeSelected3DPoint; -- (IBAction) IBSetSelected3DPointColor: (id) sender; -- (IBAction) IBSetSelected3DPointRadius: (id) sender; -- (IBAction) IBPropagate3DPointsSettings: (id) sender; -- (void) setSelected3DPointColor: (NSColor*) color; -- (void) setAll3DPointsColor: (NSColor*) color; -- (void) set3DPointAtIndex:(unsigned int) index Color: (NSColor*) color; -- (void) setSelected3DPointRadius: (float) radius; -- (void) setAll3DPointsRadius: (float) radius; -- (void) set3DPointAtIndex:(unsigned int) index Radius: (float) radius; -- (IBAction) save3DPointsDefaultProperties: (id) sender; -- (void) load3DPointsDefaultProperties; -- (void) convert3Dto2Dpoint:(double*) pt3D :(double*) pt2D; - -// 3D Points annotations -- (IBAction) IBSetSelected3DPointAnnotation: (id) sender; -- (void) setAnnotationWithPosition:(int)displayPosition for3DPointAtIndex:(unsigned int) index; -- (void) setAnnotation:(const char*) annotation for3DPointAtIndex:(unsigned int) index; -- (void) displayAnnotationFor3DPointAtIndex:(unsigned int) index; -- (void) hideAnnotationFor3DPointAtIndex:(unsigned int) index; -- (IBAction) IBSetSelected3DPointAnnotationColor: (id) sender; -- (IBAction) IBSetSelected3DPointAnnotationSize: (id) sender; - --(void) setCursorForView: (long) tool; - -//Dragging -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; --(void) squareView:(id) sender; - -- (void)yaw:(float)degrees; -- (void)panX:(float)x Y:(float)y; - -// 3DConnexion SpaceNavigator -- (void)connect2SpaceNavigator; -void SRSpaceNavigatorMessageHandler(io_connect_t connection, natural_t messageType, void *messageArgument); - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Schedulable.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Schedulable.h deleted file mode 100644 index 9635df0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Schedulable.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Protocol for multithreading scheduling*/ -@protocol Schedulable --(void)performWorkUnits:(NSSet *)workUnits forScheduler:(Scheduler *)scheduler; -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Scheduler.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Scheduler.h deleted file mode 100644 index 49253db..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Scheduler.h +++ /dev/null @@ -1,78 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@protocol Schedulable; - -#ifdef id -#define redefineID -#undef id -#endif - -/** \brief Does multithreading scheduling*/ -@interface Scheduler : NSObject { - @private - id _delegate; // Delegate - NSObject *_schedulableObject; // Object which has work units to be scheduled - NSMutableSet *_workUnitsRemaining; // Work units not yet performed in schedule - NSLock *_remainingUnitsLock; // Lock to keep the remaining work units set consistent - BOOL _scheduleWasCancelled; // Flag set when schedule is cancelled - unsigned _numberOfThreads; // Number of simultaneous threads used to perform work - unsigned _numberOfDetachedThreads; // The current number of worker threads detached. -} - --(id)initForSchedulableObject:(NSObject *)schedObj andNumberOfThreads:(unsigned)numThreads; --(id)initForSchedulableObject:(NSObject *)schedObj; --(void)dealloc; - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(void)cancelSchedule; - -// Template method. Overload in subclasses --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -// Accessors --(unsigned)numberOfThreads; --(unsigned) numberOfDetachedThreads; - --(id)delegate; --(void)setDelegate:(id)delegate; - --(id )schedulableObject; - --(NSMutableSet *)_workUnitsRemaining; - -@end - -@interface Scheduler (SchedulerDelegateMethods) - -// Sent in the main thread --(void)schedulerWillBeginSchedule:(Scheduler *)sender; - -// The following are sent in the worker thread --(BOOL)scheduler:(Scheduler *)scheduler shouldBeginUnits:(NSSet *)units; --(void)scheduler:(Scheduler *)scheduler didCompleteUnits:(NSSet *)units; - -// Sent in the main thread --(void)schedulerDidCancelSchedule:(Scheduler *)scheduler; --(void)schedulerDidFinishSchedule:(Scheduler *)scheduler; - -@end - -#ifdef redefineID -#define id Id -#undef redefineID -#endif \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Scripting_Additions.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Scripting_Additions.h deleted file mode 100644 index c4ec0a5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Scripting_Additions.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -/** \brief AppleScript functions */ - -#import -#import - -@interface OsiriXScripts : NSScriptCommand { - -} - -- (id)performDefaultImplementation; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SearchSubview.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SearchSubview.h deleted file mode 100644 index aa8edea..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SearchSubview.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "AdvancedQuerySubview.h" - - -@interface SearchSubview : AdvancedQuerySubview { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SearchWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SearchWindowController.h deleted file mode 100644 index 294acad..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SearchWindowController.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "SmartWindowController.h" - -/** No longer supported */ -@interface SearchWindowController : SmartWindowController { - -} -- (IBAction)search:(id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SelectedKeyImagesArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SelectedKeyImagesArrayController.h deleted file mode 100644 index ae003fd..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SelectedKeyImagesArrayController.h +++ /dev/null @@ -1,30 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "AllKeyImagesArrayController.h" - - - /** \brief Controller for array of keyImages */ - - -@interface SelectedKeyImagesArrayController : AllKeyImagesArrayController { - -} - -- (void)addKeyImages:(NSNotification *)note; -- (void)select:(id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SelectionView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SelectionView.h deleted file mode 100644 index d86397e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SelectionView.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface SelectionView : NSView { - -} - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SendController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SendController.h deleted file mode 100644 index 678acfd..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SendController.h +++ /dev/null @@ -1,85 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//Abstract class for generalized control of DICOM sending. - -#import - -enum TransferSyntaxCodes -{ - SendExplicitLittleEndian = 0, - SendJPEG2000Lossless = 1, - SendJPEG2000Lossy10 = 2, - SendJPEG2000Lossy20 = 3, - SendJPEG2000Lossy50 = 4, - SendJPEGLossless = 5, - SendJPEGLossy9 = 6, - SendJPEGLossy8 = 7, - SendJPEGLossy7 = 8, - SendImplicitLittleEndian = 9, - SendRLE = 10, - SendExplicitBigEndian = 11, - SendBZip = 12 -}; - - -enum SendServerType { osirixServer, offisServer }; - -@class Wait; -@class DCMTKStoreSCU; - -/** \brief Window Controller for DICOM Send */ -@interface SendController : NSWindowController -{ - NSArray *_files; - NSString *_numberFiles; - NSInteger _keyImageIndex; - NSInteger _serverIndex; - NSInteger _offisTS; - Wait *_waitSendWindow; - BOOL _readyForRelease; - BOOL _abort; - BOOL sendROIs; - NSRecursiveLock *_lock; - DCMTKStoreSCU *storeSCU; - NSDictionary *_destinationServer; - - IBOutlet NSPopUpButton *newServerList; - IBOutlet NSMatrix *keyImageMatrix; - IBOutlet NSTextField *numberImagesTextField, *addressAndPort; - IBOutlet NSPopUpButton *syntaxListOffis; -} - -+ (void) sendFiles:(NSArray *)files; -+ (void) sendFiles:(NSArray *)files toNode: (NSDictionary*) node; -+ (void) sendFiles:(NSArray *)files toNode: (NSDictionary*) node usingSyntax: (int) syntax; -- (void) sendDICOMFilesOffis:(NSArray *) tempObjectsToSend; -+ (int) sendControllerObjects; -- (id)initWithFiles:(NSArray *)files; -- (id)serverAtIndex:(int)index; -- (id)server; -- (NSString *)numberFiles; -- (void)setNumberFiles:(NSString *)numberFiles; -- (IBAction) endSelectServer:(id) sender; -- (int)keyImageIndex; -- (void)setKeyImageIndex:(int)index; -- (void)releaseSelfWhenDone:(id)sender; -- (void)listenForAbort:(id)handler; -- (void)abort; -- (void)closeSendPanel:(id)sender; -- (IBAction)selectServer: (id)sender; -- (void) sendToNode: (NSDictionary*) node; -- (void) updateDestinationPopup:(NSNotification*) note; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SeriesView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SeriesView.h deleted file mode 100644 index 239f015..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SeriesView.h +++ /dev/null @@ -1,62 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief Series View for ViewerControllerr */ - - -#import - -@class DCMView; -@class DCMPix; -@class ViewerController; -@interface SeriesView : NSView { - int seriesRows; - int seriesColumns; - int tag; - int imageRows; - int imageColumns; - NSMutableArray *imageViews; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - char listType; - short curImage, startImage; - - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - //int curMovieIndex; - //int maxMovieIndex; - -} - -- (id)initWithFrame:(NSRect)frame seriesRows:(int)rows seriesColumns:(int)columns; - -- (long)tag; -- (void)setTag:(long)theTag; -- (NSMutableArray *)imageViews; -- (DCMView *)firstView; -- (void)setImageViewMatrixForRows:(int)rows columns:(int)columns; -- (void)updateImageTiling:(NSNotification *)note; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (void) setPixels: (NSMutableArray*) pixels files: (NSArray*) files rois: (NSMutableArray*) rois firstImage: (short) firstImage level: (char) level reset: (BOOL) reset; -- (void) setBlendingFactor:(float) value; -- (void) setBlendingMode:(int) value; -- (void) setFlippedData:(BOOL) value; -- (void) ActivateBlending:(ViewerController*) bC blendingFactor:(float)blendingFactor; -- (int)imageRows; -- (int)imageColumns; -- (void) selectFirstTilingView; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ShadingArrayController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ShadingArrayController.h deleted file mode 100644 index 1ccbaf7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ShadingArrayController.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// ShadingArrayController.h -// OsiriX -// -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "OSIWindowController.h" - -@interface ShadingArrayController : NSArrayController { - BOOL _enableEditing; - OSIWindowController *winController; -} - -- (BOOL)enableEditing; -- (void)setEnableEditing:(BOOL)enable; -- (void)setWindowController:(OSIWindowController*) ctrl; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SimplePing.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SimplePing.h deleted file mode 100644 index b9b8623..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SimplePing.h +++ /dev/null @@ -1,162 +0,0 @@ - -//Note this sample requires Mac OS X 10.2.x or later and -//ProjectBuilder version 2.1 or later. - -#if !defined(__DTSSampleCode_SimplePing__) -#define __DTSSampleCode_SimplePing__ 1 - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include -#include -#include -#include -#include - -struct PingICMPPacket -{ - struct icmp icmpHeader; //required icmp header - struct timeval packetTimeStamp; //our optional data will be the packet send time. -}; - -/***************************************************** - * LookupHostAddress - ***************************************************** - * Purpose: This function provides a mechanism to get a host address - * as a internet address structure given only a string describing the - * remote host. The string passed will be either a host name - * (e.g. www.apple.com) or an IP address (e.g. 17.203.23.111) - * - * Parameters: - * HostToPing A constant C-string. On calling - * LookupHostAddress this variable holds a CString describing the - * remote host. The string can either be a host name (e.g. www.google.com) - * or an IP address (e.g. 17.203.23.112) - * - * HostAddress A pointer to a pre-allocated array of sockaddr_in structure. - * On calling LookupHostAddress this variable must be a pointer to a - * pre-allocated sockaddr_in structure. On successful return from LookupHostAddress - * this variable will hold the host address expressed as an sockaddr_in structure. - * On failed return the value of this variable is undefined - * - * *Function Result* A UNIX error integer return value as described in: - * /usr/include/sys/errno.h on a BSD system. - * Note: This value will be zero on success. - *****************************************************/ -int LookupHostAddress(const char* HostToPing, struct sockaddr_in* HostAddress); - -/***************************************************** - * CreateSocketForCommunicationWithHost - ***************************************************** - * Purpose: This function sets up a socket for communicating - * with the given remote host and also sets the parameters of - * that socket to our required specifications (timeout of 1 second - * and larger receive buffer). - * - * Parameters: - * HostAddress A sockaddr_in structure. On calling - * CreateSocketForCommunicationWithHost this variable has an address - * of the host the socket will be established with expressed in sockaddr_in format. - * - * SocketToReturn A pointer to a pre-allocated integer. On successful - * return from CreateSocketForCommunicationWithHost this variable will hold - * a socket descriptor used to communicate with the socket in future calls. On - * failed result this variable will be undefined. Note on successful result its - * the caller's responsibility to close the socket. - * - * *Function Result* A UNIX error integer return value as described in: - * /usr/include/sys/errno.h on a BSD system. - * Note: This value will be zero on success. - *****************************************************/ -int CreateSocketForCommunicationWithHost(const struct sockaddr_in HostAddress, int* SocketToReturn); - -/***************************************************** - * CreateAndSendICMPPacket - ***************************************************** - * Purpose: This function creates an ICMP packet with the necessary information - * inside of it to make it a ping packet. This function also sends that ping packet to - * the remote host. - * - * Parameters: - * HostAddress A sockaddr_in structure. On calling - * CreateAndSendICMPPacket this variable has an address - * of the host where the ping will be sent. - * - * SequenceNumber A integer. when calling CreateAndSendICMPPacket this variable - * will hold the sequence number of the ping packet being sent. This information is - * then put in the ping packet sent to the host so when they reply we know which - * send the reply is associated with. - * - * SocketConnectionToHost A socket descriptor expressed as an integer. On calling - * CreateAndSendICMPPacket this variable will be a valid socket which is already setup - * for communicating with the remote host. - * - * *Function Result* A UNIX error integer return value as described in: - * /usr/include/sys/errno.h on a BSD system. - * Note: This value will be zero on success. - *****************************************************/ -int CreateAndSendICMPPacket(struct sockaddr_in HostAddress, int SequenceNumber, int SocketConnectionToHost); - -/***************************************************** - * WaitAndPrintICMPs - ***************************************************** - * Purpose: This function creates an ICMP packet with the necessary information - * inside of it to make it a ping packet. This function also sends that ping packet to - * the remote host. - * - * Parameters: - * SocketConnectionToHost A socket descriptor expressed as an integer. On calling - * WaitAndPrintICMPs this variable will be a valid socket which is already setup - * for communicating with the remote host. This will be used in getting the reply - * packets from the host. - * - * TimeoutInSeconds A timeout expressed as an integer. On calling - * WaitAndPrintICMPs this variable will have the number of seconds to wait for - * ICMP replies. Note even if a valid ICMP reply comes that matches what we expect - * we will still wait for additional ICMP packets until the timeout has occurred. - * - * GotResponse A pre-allocated integer. when calling WaitAndPrintICMPs - * this variable will be a pre-allocated integer. On successful return from WaitAndPrintICMPs this - * variable will hold a value of 1 if a ICMP packet response to our ping was received. - * And a zero otherwise. On failed return the value of this variable will be undefined. - * - * *Function Result* A UNIX error integer return value as described in: - * /usr/include/sys/errno.h on a BSD system. - * Note: This value will be zero on success. - *****************************************************/ -int WaitAndPrintICMPs(int socketConnectionToHost, int TimeoutInSeconds, int ReturnimmediatelyAfterReply, int* GotResponse); - -/***************************************************** - * SimplePing - ***************************************************** - * Purpose: This function uses the above functions to ping a given remote host with - * a given number of packets and with a given timeout to wait for responses on each packet. - * - * Parameters: - * HostToPing A C-String describing the remote host. On calling - * SimplePing this variable will hold a description of the host as a C-String. The string - * can either be a hostname (e.g. www.google.com) or an IP address (e.g. 17.203.23.111) - * - * NumberOfPacketsToSend An integer. On calling SimplePing this variable holds - * the number of ping packets to send to the host before stopping. - * - * PingTimeoutInSeconds An integer. On calling Simple Ping this variable holds - * the amount of time SimplePing will wait for responses from the ping before going onto the next packet. - * Note even if a ping reply is received we will continue waiting until the timeout has occurred. - * - * *Function Result* A UNIX error integer return value as described in: - * /usr/include/sys/errno.h on a BSD system. - * Note: This value will be zero on success. - *****************************************************/ -int SimplePing(const char* HostToPing, const int NumberOfPacketsToSend, const int PingTimeoutInSeconds, const int ReturnimmediatelyAfterReply, int *numberPacketsReceived ); -//Checksum function stolen from original ping ;-) -int in_cksum(u_short *addr, int len); - -#ifdef __cplusplus -} -#endif - -#endif \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SmartWindowController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SmartWindowController.h deleted file mode 100644 index c8f76cd..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SmartWindowController.h +++ /dev/null @@ -1,51 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -/** \brief Window Controller for creating smart albums -* -* Window Controller for creating Smart albums -*/ - -#import - -@interface SmartWindowController : NSWindowController { - - IBOutlet NSTextField *albumNameField; - IBOutlet NSBox *filterBox; - NSMutableArray *subviews; - NSMutableArray *criteria; - BOOL madeCriteria; - BOOL firstTime; - -} - -- (IBAction)newAlbum:(id)sender; /**< Create a new smart album. */ -- (void)removeSubview:(id)sender; /**< Removes a subView representing a smart filter predicate. */ -- (void)addSubview:(id)sender; /**< Add a subview for creating a new subpredicate. */ -- (void)drawSubviews; /**< Redraws the subviews */ - -- (void)updateRemoveButtons; /**< Disables the remove button if only one subview remains */ - -- (void)createCriteria; /**< Create the smart album criteria */ -- (NSMutableArray *)criteria; /**< Array of subpredicates used to make the smart album predicate */ -- (NSString *)albumTitle; /**< Smart album title */ -/** Return a date that corresponds to date earlier than today. -* Value can be: searchWithinToday, searchWithinLast2Days, searchWithinLastWeek, searchWithinLast2Weeks, -* searchWithinLastMonth, searchWithinLast2Months, searchWithinLast3Months, searchWithinLastYear -*/ -- (NSCalendarDate *)dateBeforeNow:(int)value; -- (BOOL)madeCriteria; /**< Checks to see if the criteria has been made. */ - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SplashScreen.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SplashScreen.h deleted file mode 100644 index 1030e17..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/SplashScreen.h +++ /dev/null @@ -1,30 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -/** \brief Window Controller for Splash Window */ -@interface SplashScreen : NSWindowController -{ - IBOutlet NSButton *version; - NSTimer *timerIn, *timerOut; - IBOutlet id view; - BOOL versionType; -} - -- (void) affiche; -- (IBAction) switchVersion:(id) sender; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Spline3D.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Spline3D.h deleted file mode 100644 index ffbe59d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Spline3D.h +++ /dev/null @@ -1,40 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "Interpolation3D.h" - -#ifdef __cplusplus -#include -#else -typedef char* vtkCardinalSpline; -#endif - - -/** \brief Spline interpolation for FlyThru -*/ - - -@interface Spline3D : Interpolation3D { - vtkCardinalSpline *xSpline, *ySpline, *zSpline; - BOOL computed; -} - -- (id) init; -- (void) compute; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StaticScheduler.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StaticScheduler.h deleted file mode 100644 index d2c1c3c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StaticScheduler.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Static multithreaded Scheduler */ -@interface StaticScheduler : Scheduler { - @private - int _numberOfThreadsLeft; // Used to keep track of how many threads already have work -} - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StringTexture.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StringTexture.h deleted file mode 100644 index 14d94b5..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StringTexture.h +++ /dev/null @@ -1,93 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import -#import -#import -#import -#import - - -/** \brief Converts NSStrings to OpenGL textures*/ -@interface StringTexture : NSObject -{ - NSMutableArray *ctxArray; //All contexts where this texture is used - NSMutableArray *textArray; //All texture id - - NSSize texSize; - - BOOL xFlipped; - BOOL yFlipped; - - NSAttributedString * string; - NSColor * textColor; // default is opaque white - NSColor * boxColor; // default transparent or none - NSColor * borderColor; // default transparent or none - BOOL staticFrame; // default in NO - NSSize marginSize; // offset or frame size, default is 4 width 2 height - NSSize frameSize; // offset or frame size, default is 4 width 2 height - BOOL antialiasing; -} - -// this API requires a current rendering context and all operations will be performed in regards to thar context -// the same context should be current for all method calls for a particular object instance - -// designated initializer -- (id) initWithAttributedString:(NSAttributedString *)attributedString withTextColor:(NSColor *)color withBoxColor:(NSColor *)color withBorderColor:(NSColor *)color; - -- (id) initWithString:(NSString *)aString withAttributes:(NSDictionary *)attribs withTextColor:(NSColor *)color withBoxColor:(NSColor *)color withBorderColor:(NSColor *)color; - -// basic methods that pick up defaults -- (id) initWithString:(NSString *)aString withAttributes:(NSDictionary *)attribs; -- (id) initWithAttributedString:(NSAttributedString *)attributedString; - -- (void) dealloc; -- (void) deleteTexture; -- (void) deleteTexture:(NSOpenGLContext*) c; - -- (NSSize) texSize; // actually size of texture generated in texels, (0, 0) if no texture allocated - -- (void) setFlippedX: (BOOL) x Y:(BOOL) y; -- (NSColor *) textColor; // get the pre-multiplied default text color (includes alpha) string attributes could override this -- (NSColor *) boxColor; // get the pre-multiplied box color (includes alpha) alpha of 0.0 means no background box -- (NSColor *) borderColor; // get the pre-multiplied border color (includes alpha) alpha of 0.0 means no border -- (BOOL) staticFrame; // returns whether or not a static frame will be used - -- (NSSize) frameSize; // returns either dynamc frame (text size + margins) or static frame size (switch with staticFrame) - -- (NSSize) marginSize; // current margins for text offset and pads for dynamic frame - -- (GLuint) genTexture; // generates the texture without drawing texture to current context -- (void) drawWithBounds:(NSRect)bounds; // will update the texture if required due to change in settings (note context should be setup to be orthographic scaled to per pixel scale) -- (void) drawAtPoint:(NSPoint)point; -- (void) drawAtPoint:(NSPoint)point ratio:(float) ratio; - -// these will force the texture to be regenerated at the next draw -- (void) setMargins:(NSSize)size; // set offset size and size to fit with offset -- (void) useStaticFrame:(NSSize)size; // set static frame size and size to frame -- (void) useDynamicFrame; // set static frame size and size to frame - -- (void) setString:(NSAttributedString *)attributedString; // set string after initial creation -- (void) setString:(NSString *)aString withAttributes:(NSDictionary *)attribs; // set string after initial creation - -- (void) setTextColor:(NSColor *)color; // set default text color -- (void) setBoxColor:(NSColor *)color; // set default text color -- (void) setBorderColor:(NSColor *)color; // set default text color -- (void) setAntiAliasing:(BOOL) a; -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StructuredReport.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StructuredReport.h deleted file mode 100644 index f6fcbf0..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StructuredReport.h +++ /dev/null @@ -1,99 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -#undef verify -#include "dsrdoc.h" - -/** \brief DICOM Structured Report */ - -@interface StructuredReport : NSObject { - id _study; - DSRDocument *_doc; - NSMutableArray *_findings; - NSMutableArray *_conclusions; - NSArray *_keyImages; - NSString *_physician; - NSString *_history; - NSString *_sopInstanceUID; - NSString *_request; - NSString *_procedureDescription; - NSString *_institution; - NSString *_verifyOberverName; - NSString *_verifyOberverOrganization; - NSString *_path; - NSXMLDocument *_xmlDoc; - BOOL _reportHasChanged; - BOOL _isEditable; - BOOL _complete; - BOOL _verified; -} - -- (id)initWithStudy:(id)study; -- (id)initWithStudy:(id)study contentsOfFile:(NSString *)file; - -- (NSArray *)findings; -- (void)setFindings:(NSMutableArray *)findings; -- (NSArray *)conclusions; -- (void)setConclusions:(NSMutableArray *)conclusions; -- (NSString *)physician; -- (void)setPhysician:(NSString *)physician; -- (NSString *)history; -- (void)setHistory:(NSString *)history; -- (NSString *)request; -- (void)setRequest:(NSString *)request; -- (NSString *)procedureDescription; -- (void)setProcedureDescription:(NSString *)procedureDescription; -- (NSString *)institution; -- (void)setInstitution:(NSString *)institution; -- (NSString *)verifyOberverName; -- (void)setVerifyOberverName:(NSString *)verifyOberverName; -- (NSString *)verifyOberverOrganization; -- (void)setVerifyOberverOrganization:(NSString *)verifyOberverOrganization; -- (BOOL)complete; -- (void)setComplete:(BOOL)complete; -- (BOOL)verified; -- (void)setVerified:(BOOL)verified; -- (NSArray *)keyImages; -- (void)setKeyImages:(NSArray *)keyImages; -- (BOOL)isEditable; -- (NSDate *)contentDate; -- (void)setContentDate:(NSDate *)date; -- (NSString *)title; -- (void)setTitle:(NSString *)title; - - -- (void)save; -- (void)export:(NSString *)path; - -- (BOOL)fileExists; -- (void)checkCharacterSet; - -- (void)createReport; -- (void)writeHTML; -- (void)writeXML; -- (void)readXML; -- (NSString *)xmlPath; -- (NSString *)htmlPath; -- (NSString *)srPath; - -- (void)convertXMLToSR; -//- (NSMXLDocument *)xmlDoc; -- (NSArray *)referencedObjects; -- (NSArray *)keyImages; - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StructuredReportController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StructuredReportController.h deleted file mode 100644 index 94d5110..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StructuredReportController.h +++ /dev/null @@ -1,101 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - - - -@class StructuredReport; -@class AllKeyImagesArrayController; - -/** \brief Window Controller for StructuredReport management */ - -@interface StructuredReportController : NSWindowController { - - id _study; - NSURL *_url; - NSXMLDocument *_xml; - - //DSRDocument *_doc; - IBOutlet NSSegmentedControl *viewControl; - IBOutlet NSView *srView; - IBOutlet NSView *xmlView; - IBOutlet NSView *htmlView; - IBOutlet NSView *buttonView; - IBOutlet WebView *webView; - IBOutlet NSOutlineView *xmlOutlineView; - IBOutlet NSView *accessoryView; - IBOutlet NSPanel *verifyPanel; - IBOutlet NSToolbarItem *printItem; - NSToolbar *toolbar; - NSView *_contentView; - StructuredReport *_report; - NSArray *_reports; - int _exportStyle; - NSString *_exportExtension; - int _tabIndex; - NSIndexSet *_reportIndex; - NSArray *_keyImagesInStudy; - BOOL _waitingToPrint; - IBOutlet AllKeyImagesArrayController *allKeyObjectsArrayController; - -} - -- (id)initWithStudy:(id)study; -- (void)setStudy:(id)study; -- (StructuredReport *)createReportForStudy:(id)study; -- (StructuredReport *)createReportForStudy:(id)study path:(NSString *)path; - - - -- (id)report; -- (void)setReport:(id)report; - -- (NSView *)contentView; - - -- (void) setupToolbar; -- (NSXMLDocument *)xmlDoc; - -- (IBAction)export:(id)sender; -- (IBAction)save:(id)sender; -- (IBAction)cancel:(id)sender; -- (IBAction)showKeyImages:(id)sender; -- (IBAction)addKeyImages:(id)sender; -- (IBAction)printDocument:(id)sender; - -- (int)exportStyle; -- (void)setExportStyle:(int)style; -- (BOOL)verified; -- (void)setVerified:(BOOL)verified; -- (IBAction)endVerify:(id)sender; -- (int)tabIndex; -- (void)setTabIndex:(int)tabIndex; -- (NSArray *)reports; -- (void)setReports:(NSArray *)reports; -- (NSIndexSet *)reportIndex; -- (void)setReportIndex:(NSIndexSet *)indexSet; - -- (NSArray *) keyImagesInStudy; -- (void)setKeyImagesInStudy:(NSArray *)images; - -- (NSArray *) keyImages; -- (void) setKeyImages:(NSArray *)keyImages; - -- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame; - - - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StudyView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StudyView.h deleted file mode 100644 index ae35757..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/StudyView.h +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -/** \brief Study View for ViewerController */ - -@interface StudyView : NSView { - int seriesRows; - int seriesColumns; - NSMutableArray *seriesViews; -} - -- (id)initWithFrame:(NSRect)frame seriesRows:(int)rows seriesColumns:(int)columns; -- (NSMutableArray *)seriesViews; -- (void)setSeriesViewMatrixForRows:(int)rows columns:(int)columns; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Survey.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Survey.h deleted file mode 100644 index cc78482..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Survey.h +++ /dev/null @@ -1,30 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Window Controller for surveys */ -@interface Survey : NSWindowController { - - IBOutlet NSMatrix *who, *where, *what, *usage, *plugin; - IBOutlet NSTextField *comments; -} - --(IBAction) done : (id) sender; --(IBAction) dontShowAgain : (id) sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/TCPServer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/TCPServer.h deleted file mode 100644 index 7dcf68c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/TCPServer.h +++ /dev/null @@ -1,75 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//NSString * const TCPServerErrorDomain; - -typedef enum { - kTCPServerCouldNotBindToIPv4Address = 1, - kTCPServerCouldNotBindToIPv6Address = 2, - kTCPServerNoSocketsAvailable = 3, -} TCPServerErrorCode; - - -/** \brief TCP Server for RIS intergration */ - -@interface TCPServer : NSObject -{ - NSString *runloopmode; - -@private - CFSocketRef ipv4socket; - CFSocketRef ipv6socket; - id delegate; - NSString *domain; - NSString *name; - NSString *type; - uint16_t port; - NSNetService *netService; -} - -- (id)delegate; -- (void)setDelegate:(id)value; - -- (NSString *)runloopmode; -- (void)setRunloopmode:(NSString *)value; - -- (NSString *)domain; -- (void)setDomain:(NSString *)value; - -- (NSString *)name; -- (void)setName:(NSString *)value; - -- (NSString *)type; -- (void)setType:(NSString *)value; - -- (uint16_t)port; -- (void)setPort:(uint16_t)value; - -- (BOOL)start:(NSError **)error; -- (BOOL)stop; - -- (void)handleNewConnectionFromAddress:(NSData *)addr inputStream:(NSInputStream *)istr outputStream:(NSOutputStream *)ostr; -// called when a new connection comes in; by default, informs the delegate - -@end - -@interface TCPServer (TCPServerDelegateMethods) -- (void)TCPServer:(TCPServer *)server didReceiveConnectionFromAddress:(NSData *)addr inputStream:(NSInputStream *)istr outputStream:(NSOutputStream *)ostr; -// if the delegate implements this method, it is called when a new -// connection comes in; a subclass may, of course, change that behavior -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThickSlabController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThickSlabController.h deleted file mode 100644 index 29b05a1..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThickSlabController.h +++ /dev/null @@ -1,43 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "OSIWindowController.h" - -@class ThickSlabVR; - - -/** \brief Thick Slab window coontroller */ -@interface ThickSlabController : NSWindowController { - - IBOutlet ThickSlabVR *view; - -} - --(id) init; --(void) setImageData:(long) w :(long) h :(long) c :(float) sX :(float) sY :(float) t :(BOOL) flip; --(unsigned char*) renderSlab; --(void) setWLWW: (float) l :(float) w; --(void) setBlendingWLWW: (float) l :(float) w; --(void) setImageSource: (float*) i :(long) c; --(void) setFlip: (BOOL) f; --(void) setCLUT: (unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void) setBlendingCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; -- (void) setLowQuality:(BOOL) q; --(void) setOpacity:(NSArray*) array; --(void) setImageBlendingSource: (float*) i; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThickSlabVR.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThickSlabVR.h deleted file mode 100644 index 96db3b6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThickSlabVR.h +++ /dev/null @@ -1,109 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -#import "VTKView.h" -#define id Id -#include "vtkCommand.h" -#include "vtkProperty.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" -#include "vtkPlane.h" -#include "vtkPlanes.h" -#include "vtkPlaneSource.h" -#include "vtkBoxWidget.h" -#include "vtkPlaneWidget.h" -#include "vtkPiecewiseFunction.h" -#include "vtkPiecewiseFunction.h" -#include "vtkColorTransferFunction.h" -#include "vtkVolumeProperty.h" -#include "vtkVolumeRayCastCompositeFunction.h" -#include "vtkVolumeRayCastMapper.h" -#include "vtkVolumeRayCastMIPFunction.h" -#include "vtkImageFlip.h" -#undef id - -#include - - -/** \brief View for Thick Slab Volume Rendering */ -@interface ThickSlabVR : NSView { - float *imageBlendingPtr, *imagePtr; - long width, height, count; - float spaceX, spaceY, thickness, ww, wl; - - BOOL flipData, lowQuality; - - float tableFloatR[256], tableFloatG[256], tableFloatB[256]; - float tableBlendingFloatR[256], tableBlendingFloatG[256], tableBlendingFloatB[256]; - float opacityTable[ 256]; - - vtkVolumeRayCastMapper *volumeMapper; - vtkVolume *volume; - vtkVolumeProperty *volumeProperty; - vtkColorTransferFunction *colorTransferFunction; - vtkImageImport *reader; - vtkVolumeRayCastCompositeFunction *compositeFunction; - vtkPiecewiseFunction *opacityTransferFunction; - vtkImageFlip *flipReader; - - vImage_Buffer srcf, dst8; - vImage_Buffer srcfBlending, dst8Blending; - - vtkRenderer *aRenderer; - vtkCamera *aCamera; - - float *dstFloatR, *dstFloatG, *dstFloatB; - long ifrom, ito, isize; - BOOL isRGB; - - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; -} --(void) setImageData:(long) w :(long) h :(long) c :(float) sX :(float) sY :(float) t :(BOOL) flip; --(void) setWLWW: (float) l :(float) w; --(void) setBlendingWLWW: (float) l :(float) w; --(void) setCLUT: (unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void) setBlendingCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(unsigned char*) renderSlab; --(void) setImageSource: (float*) i :(long) c; --(void) setFlip: (BOOL) f; -- (void) setLowQuality:(BOOL) q; --(void) setOpacity:(NSArray*) array; --(void) setImageBlendingSource: (float*) i; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThreeDPanView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThreeDPanView.h deleted file mode 100644 index b736381..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThreeDPanView.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "ThreeDPositionController.h" - -@interface ThreeDPanView : NSImageView -{ - NSPoint mouseDownPoint; - ThreeDPositionController *controller; -} - -- (void)setController: (ThreeDPositionController*) c; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThreeDPositionController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThreeDPositionController.h deleted file mode 100644 index a14fc72..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThreeDPositionController.h +++ /dev/null @@ -1,40 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -@class ViewerController; -@class DCMView; -@class ThreeDPanView; - -/** \brief Window Controller for the ThreeDPosition. The ThreeDPosition provides a GUI to move a 3D DataSet in space (3D coordinates).*/ -@interface ThreeDPositionController : NSWindowController -{ - ViewerController *viewerController; - - IBOutlet ThreeDPanView *axialPan, *verticalPan; - IBOutlet NSMatrix *matrixMode; -} - -+ (ThreeDPositionController*) threeDPositionController; -- (id)initWithViewer:(ViewerController*)viewer; -- (void)setViewer:(ViewerController*)viewer; -- (IBAction) changePosition:(id) sender; -- (void) movePositionPosition:(float*) move; -- (int) mode; -- (IBAction) changeMatrixMode:(id) sender; -- (IBAction) reset:(id) sender; - -@property(readonly) ViewerController *viewerController; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThumbnailCell.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThumbnailCell.h deleted file mode 100644 index cfaa687..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ThumbnailCell.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// ThumbnailCell.h -// OsiriX -// -// Created by antoinerosset on 13.07.08. -// Copyright 2008 OsiriX Team. All rights reserved. -// - -#import - - -@interface ThumbnailCell : NSButtonCell { - BOOL rightClick; -} - -@property(readonly) BOOL rightClick; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ToolBarNSWindow.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ToolBarNSWindow.h deleted file mode 100644 index b5bad82..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ToolBarNSWindow.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Window with only a toolbar */ -@interface ToolBarNSWindow : NSPanel -{ - BOOL willClose; -} - -@property BOOL willClose; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ToolbarPanel.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ToolbarPanel.h deleted file mode 100644 index 05af68c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ToolbarPanel.h +++ /dev/null @@ -1,40 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "ViewerController.h" - -/** Window Controller for Toolbar */ -@interface ToolbarPanelController : NSWindowController { - - NSToolbar *toolbar; - long screen; - NSToolbar *emptyToolbar; - ViewerController *viewer; - BOOL dontReenter; -} - -@property (readonly) ViewerController *viewer; - -+ (long) fixedHeight; -- (void) setToolbar :(NSToolbar*) tb viewer:(ViewerController*) v; -- (void) fixSize; -- (void) toolbarWillClose :(NSToolbar*) tb; -- (id)initForScreen: (long) s; -- (NSToolbar*) toolbar; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/UserTable.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/UserTable.h deleted file mode 100644 index 7634227..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/UserTable.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -/** \brief Core Data Entity for a web user */ - -@interface UserTable : NSManagedObject -{ - -} - -- (void) generatePassword; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRController.h deleted file mode 100644 index fa6d8bb..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRController.h +++ /dev/null @@ -1,261 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DCMPix.h" -#import "ColorTransferView.h" -#import "ViewerController.h" -#import "Window3DController.h" -#import "ShadingArrayController.h" - -// Fly Thru -#import "FlyThruController.h" -#import "FlyThru.h" -#import "VRFlyThruAdapter.h" - -// ROIs Volumes -#define roi3Dvolume - -@class CLUTOpacityView; -@class VRView; -@class ROIVolume; - -@class VRPresetPreview; -#import "ColorView.h" - - -/** \brief Window Controller for VR and MIP -*/ - - -@interface VRController : Window3DController -{ - IBOutlet NSSlider *LODSlider; - IBOutlet VRView *view; - - NSString *style; - - IBOutlet NSView *toolsView, *WLWWView, *CLUTEditorsView, *LODView, *ClippingRangeView, *BlendingView, *movieView, *shadingView, *engineView, *perspectiveView, *modeView, *scissorStateView; - - IBOutlet NSView *OrientationsView; - - IBOutlet NSView *BackgroundColorView; - - IBOutlet NSMatrix *modeMatrix; - - IBOutlet NSMatrix *toolsMatrix; - IBOutlet NSPopUpButton *enginePopup; - - IBOutlet NSWindow *shadingEditWindow; - IBOutlet NSWindow *growingRegionWindow; - BOOL growingSet; - - IBOutlet NSButton *shadingCheck; - IBOutlet NSTextField *shadingValues; - - IBOutlet NSView *convolutionView; - IBOutlet NSPopUpButton *convolutionMenu; - - NSToolbar *toolbar; - - NSMutableArray *pixList[ 100]; - NSArray *fileList; - NSData *volumeData[ 100]; - short curMovieIndex, maxMovieIndex; - - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - BOOL blending; - NSData *blendingVolumeData; - NSMutableArray *blendingPixList; - ViewerController *blendingController; - - NSTimeInterval lastMovieTime; - NSTimer *movieTimer; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - float *undodata[ 100]; - float minimumValue, maximumValue; - float blendingMinimumValue, blendingMaximumValue; - - // Fly Thru - VRFlyThruAdapter *FTAdapter; - - // 3D Points - ViewerController *viewer2D; - NSMutableArray *roi2DPointsArray, *sliceNumber2DPointsArray, *x2DPointsArray, *y2DPointsArray, *z2DPointsArray; - - // ROIs Volumes - NSMutableArray *roiVolumes[ MAX4D]; - - NSString *_renderingMode; - - // CLUT & Opacity panel - IBOutlet NSDrawer *clutOpacityDrawer; - IBOutlet CLUTOpacityView *clutOpacityView; - - IBOutlet NSPanel *shadingPanel; - IBOutlet ShadingArrayController *shadingsPresetsController; - BOOL shadingEditable; - - NSMutableArray *appliedConvolutionFilters; - - IBOutlet NSWindow *save3DSettingsWindow; - IBOutlet NSTextField *settingsCLUTTextField, *settingsOpacityTextField, *settingsShadingsTextField, *settingsWLWWTextField, *settingsConvolutionFilterTextField, *settingsProjectionTextField, *settingsBackgroundColorTextField; - IBOutlet NSTextField *settingsNameTextField, *settingsNewGroupNameTextField, *settingsNewGroupNameLabelTextField; - IBOutlet NSPopUpButton *settingsGroupPopUpButton; - IBOutlet NSButton *settingsSaveButton; - - IBOutlet NSWindow *presetsPanel; - IBOutlet NSPopUpButton *presetsGroupPopUpButton; - IBOutlet NSButton *presetsApplyButton; - - IBOutlet VRPresetPreview *presetPreview1, *presetPreview2, *presetPreview3, *presetPreview4, *presetPreview5, *presetPreview6, *presetPreview7, *presetPreview8, *presetPreview9; - VRPresetPreview *selectedPresetPreview; - IBOutlet NSTextField *presetName1, *presetName2, *presetName3, *presetName4, *presetName5, *presetName6, *presetName7, *presetName8, *presetName9; - NSMutableArray *presetPreviewArray; - NSMutableArray *presetNameArray; - int presetPageNumber, presetPageMax, presetPageMin; - IBOutlet NSButton *nextPresetPageButton, *previousPresetPageButton; - IBOutlet NSTextField *numberOfPresetInGroupTextField; - - IBOutlet NSWindow *presetsInfoPanel; - IBOutlet NSTextField *infoNameTextField, *infoCLUTTextField, *infoOpacityTextField, *infoShadingsTextField, *infoWLWWTextField, *infoConvolutionFilterTextField, *infoProjectionTextField, *infoBackgroundColorTextField; - IBOutlet ColorView *infoBackgroundColorView; - - NSPoint presetsPanelUserDefinedOrigin; - BOOL needToMovePresetsPanelToUserDefinedPosition; - BOOL firstTimeDisplayed; - - NSTimeInterval flyThruRecordingTimeFrame; -} - -- (IBAction) applyConvolution:(id) sender; -- (IBAction) setOrientation:(id) sender; -- (NSString*) style; -- (void) setModeIndex:(long) val; -- (IBAction) setMode:(id)sender; -- (NSMutableArray*) pixList; -- (NSMutableArray*) curPixList; -- (void) load3DState; -- (void) updateBlendingImage; -- (ViewerController*) blendingController; -- (void) LODsliderAction:(id) sender; -- (id) initWithPix:(NSMutableArray*) pix :(NSArray*) f :(NSData*) vData :(ViewerController*) bC :(ViewerController*) vC; -- (id) initWithPix:(NSMutableArray*) pix :(NSArray*) f :(NSData*) vData :(ViewerController*) bC :(ViewerController*) vC style:(NSString*) m mode:(NSString*) renderingMode; -- (void) setupToolbar; -- (void) setDefaultTool:(id) sender; -- (void) setCurrentTool:(short) newTool; -- (NSMatrix*) toolsMatrix; -- (void) setWLWW:(float) iwl :(float) iww; -- (void) getWLWW:(float*) iwl :(float*) iww; -- (void) ApplyWLWW:(id) sender; -- (void)applyWLWWForString:(NSString *)menuString; -- (void) blendingSlider:(id) sender; -- (void) ApplyCLUTString:(NSString*) str; -- (void) ApplyOpacityString:(NSString*) str; -- (void) MoviePlayStop:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) moviePosSliderAction:(id) sender; -- (long) movieFrames; -- (void) setMovieFrame: (long) l; -- (void) addMoviePixList:(NSMutableArray*) pix :(NSData*) vData; -- (short)curMovieIndex; -- (BOOL)is4D; -- (IBAction) editShadingValues:(id) sender; -- (IBAction) setEngine:(id) sender; -- (void) updateEngine; -- (void) prepareUndo; -- (VRView*) view; -- (void) applyScissor : (NSArray*) object; -+ (NSString*) getUniqueFilenameScissorStateFor:(NSManagedObject*) obj; -- (NSArray*) fileList; -- (float) factor; -- (void) remove3DPoint: (NSNotification*) note; -- (void) add2DPoint: (float) x : (float) y : (float) z :(float*) mm; -- (void) remove2DPoint: (float) x : (float) y : (float) z; -- (NSMutableArray*) roi2DPointsArray; -- (NSMutableArray*) sliceNumber2DPointsArray; -- (IBAction) undo:(id) sender; -- (void) sendMail:(id) sender; -- (void) exportJPEG:(id) sender; -- (void) export2iPhoto:(id) sender; -- (void) exportTIFF:(id) sender; -- (void) computeMinMax; -- (float) minimumValue; -- (float) maximumValue; -- (float) blendingMinimumValue; -- (float) blendingMaximumValue; -- (FlyThruController *) flyThruController; -- (IBAction) flyThruControllerInit:(id) sender; -- (void)recordFlyThru; -- (IBAction) applyShading:(id) sender; -- (void) findShadingPreset:(id) sender; - -#ifdef roi3Dvolume -// ROIs Volumes -- (void) computeROIVolumes; -- (NSMutableArray*) roiVolumes; -//- (void) displayROIVolumeAtIndex: (int) index; -//- (void) hideROIVolumeAtIndex: (int) index; -- (void) displayROIVolume: (ROIVolume*) v; -- (void) hideROIVolume: (ROIVolume*) v; -- (void) displayROIVolumes; -- (IBAction) roiGetManager:(id) sender; -#endif - -- (ViewerController*) viewer2D; - -- (NSString *)renderingMode; -- (void)setRenderingMode:(NSString *)renderingMode; -- (NSString *)curCLUTMenu; -- (void)setCurCLUTMenu:(NSString*)clut; - -- (NSDrawer*)clutOpacityDrawer; -- (IBAction)showCLUTOpacityPanel:(id)sender; -- (void)loadAdvancedCLUTOpacity:(id)sender; -- (void)delete16BitCLUT:(NSWindow*)sheet returnCode:(int)returnCode contextInfo:(void*)contextInfo; -- (IBAction) editGrowingRegion:(id) sender; -- (IBAction) endEditGrowingRegion:(id) sender; -- (NSMutableDictionary*)getCurrent3DSettings; -- (IBAction)save3DSettings:(id)sender; -- (NSArray*)find3DSettingsGroups; -- (IBAction)enable3DSettingsSaveButton:(id)sender; -- (IBAction)show3DSettingsNewGroupTextField:(id)sender; -- (IBAction)close3DSettingsSavePanel:(id)sender; -- (void)save3DSettings:(NSMutableDictionary*)settings WithName:(NSString*)name group:(NSString*)groupName; -- (void)updatePresetsGroupPopUpButton; -- (void)updatePresetsGroupPopUpButtonSelectingGroupWithName:(NSString*)groupName; -- (void)load3DSettings; -- (IBAction)load3DSettings:(id)sender; -- (IBAction)displayPresetsForSelectedGroup:(id)sender; -- (void)displayPresetsForSelectedGroup; -- (void)load3DSettingsDictionary:(NSDictionary*)preset forPreview:(VRPresetPreview*)preview; -- (void)setSelectedPresetPreview:(VRPresetPreview*)aPresetPreview; -- (IBAction)nextPresetPage:(id)sender; -- (IBAction)previousPresetPage:(id)sender; -- (void)enablePresetPageButtons; -- (void)showPresetsPanel; -- (void)centerPresetsPanel; -- (void)updatePresetInfoPanel; -- (IBAction)showPresetInfoPanel:(id)sender; -- (void)windowWillCloseNotification:(NSNotification*)notification; - -- (void)setVtkCameraForAllPresetPreview:(void*)aCamera; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRControllerVPRO.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRControllerVPRO.h deleted file mode 100644 index f00ea2b..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRControllerVPRO.h +++ /dev/null @@ -1,117 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -#import "ColorTransferView.h" -#import "ViewerController.h" -#import "Window3DController.h" -#import "DCMPix.h" - -// Fly Thru -#import "FlyThruController.h" -#import "FlyThru.h" -#import "VRPROFlyThruAdapter.h" - - -@class VRPROView; - -/** \brief WindowController for VPRO */ - -@interface VRPROController : Window3DController -{ - IBOutlet NSSlider *LODSlider; - IBOutlet VRPROView *view; - IBOutlet NSView *toolsView, *WLWWView, *LODView, *BlendingView, *movieView, *shadingView, *engineView, *perspectiveView, *scissorStateView, *modeView; - - IBOutlet NSMatrix *modeMatrix; - - IBOutlet NSMatrix *toolsMatrix; - IBOutlet NSPopUpButton *enginePopup; - - IBOutlet NSWindow *shadingEditWindow; - IBOutlet NSForm *shadingForm; - - IBOutlet NSButton *shadingCheck; - IBOutlet NSTextField *shadingValues; - - NSToolbar *toolbar; - - NSMutableArray *pixList[ 100]; - NSArray *fileList; - NSData *volumeData[ 100]; - short curMovieIndex, maxMovieIndex; - - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - BOOL blending; - NSData *blendingVolumeData; - NSMutableArray *blendingPixList; - ViewerController *viewer2D, *blendingController; - - NSTimeInterval lastMovieTime; - NSTimer *movieTimer; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - float *undodata[ 100]; - - // Fly Thru - VRPROFlyThruAdapter *FTAdapter; - - NSString *_renderingMode; -} - -+(BOOL) available; -+(BOOL) hardwareCheck; - -- (IBAction) resetShading:(id) sender; -- (void) setModeIndex:(long) val; --(NSMutableArray*) pixList; --(void) load3DState; --(void) updateBlendingImage; --(ViewerController*) blendingController; --(ViewerController*) viewer2D; --(void) LODsliderAction:(id) sender; --(id) initWithPix:(NSMutableArray*) pix :(NSArray*) f :(NSData*) vData :(ViewerController*) bC :(ViewerController*) vC; --(id) initWithPix:(NSMutableArray*) pix :(NSArray*) f :(NSData*) vData :(ViewerController*) bC :(ViewerController*) vC mode:(NSString*) renderingMode; -- (void) setupToolbar; --(void) setDefaultTool:(id) sender; --(NSMatrix*) toolsMatrix; -- (void) setWLWW:(float) iwl :(float) iww; -- (void) blendingSlider:(id) sender; -- (void) ApplyCLUTString:(NSString*) str; -- (void) ApplyOpacityString:(NSString*) str; -- (void) MoviePlayStop:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) moviePosSliderAction:(id) sender; -- (long) movieFrames; -- (void) setMovieFrame: (long) l; --(void) addMoviePixList:(NSMutableArray*) pix :(NSData*) vData; --(IBAction) endShadingEditing:(id) sender; --(IBAction) editShadingValues:(id) sender; --(IBAction) setEngine:(id) sender; -- (void) updateEngine; -- (void) prepareUndo; -- (void) applyScissor : (NSArray*) object; -- (IBAction) setMode:(id) sender; -- (NSArray*) fileList; -- (void)createContextualMenu; - -- (NSString *)renderingMode; -- (void)setRenderingMode:(NSString *)renderingMode; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRFlyThruAdapter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRFlyThruAdapter.h deleted file mode 100644 index 0c0ddba..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRFlyThruAdapter.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "FlyThruAdapter.h" - -@class VRController; - -/** \brief FlyThruAdapter for Volume Rendering -* -* Volume Rendering FlyThruAdapter -*/ - -@interface VRFlyThruAdapter : FlyThruAdapter { -} - -- (id) initWithVRController: (VRController*) aVRController; -- (NSImage*) getCurrentCameraImage: (BOOL) highQuality; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRMakeObject.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRMakeObject.h deleted file mode 100644 index 7bd096c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRMakeObject.h +++ /dev/null @@ -1 +0,0 @@ -/*========================================================================= Program: OsiriX Copyright (c) OsiriX Team All rights reserved. Distributed under GNU - LGPL See http://www.osirix-viewer.com/copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. =========================================================================*/ ////////// // macros ////////// //#define FloatToFixed(a) ((Fixed)((float)(a) * fixed1)) #import ////////// // // constants // ////////// #define kDefaultNodeID 1 // default node ID #define kQTVRVersion1 (long)1 #define kQTVRVersion2 (long)2 #define kObjectFormat1x0DataType FOUR_CHAR_CODE('NAVG') #define kObjSaveMoviePrompt "Save object movie file as:" #define kObjSaveMovieFileName "Untitled.mov" // default object settings; // a real application would let the user select these values interactively // (perhaps by displaying a dialog box with a bunch of edit text items....) #define kDefaultNumOfColumns (UInt16)10 #define kDefaultNumOfRows (UInt16)10 #define kDefaultLoopSize (UInt16)1 #define kDefaultLoopTicks (UInt16)0 // for looping object: display next frame as quickly as possible #define kDefaultFrameDuration (UInt16)60 #define kDefaultMovieType (UInt16)kGrabberUI #define kDefaultViewStateCount (UInt16)1 #define kDefaultDefaultViewState (UInt16)1 #define kDefaultMouseDownViewState (UInt16)1 // version 1.0 uses Fixed for some of its data items, while version 2.x uses Float32; // we'll define our default settings using Float32 and, when necessary, convert to Fixed using the FloatToFixed macro defined above #define kDefaultFieldOfView (Float32)360.0 #define kDefaultMinFieldOfView (Float32)8.0 #define kDefaultStartPan (Float32)0.0 #define kDefaultEndPan (Float32)360.0 #define kDefaultStartTilt (Float32)90.0 #define kDefaultEndTilt (Float32)-90.0 #define kDefaultInitialPan (Float32)0.0 // not used; we calculate the initial pan angle from the source movie's current time #define kDefaultInitialTilt (Float32)0.0 // not used; we calculate the initial tilt angle from the source movie's current time #define kDefaultMouseMotionScale (Float32)180.0 #define kDefaultDefaultViewCenterH (Float32)0.0 #define kDefaultDefaultViewCenterV (Float32)0.0 #define kDefaultViewRate (Float32)1.0 #define kDefaultFrameRate (Float32)1.0 #define kDefaultAnimationSettings (UInt32)0 #define kDefaultControlSettings (UInt32)(kQTVRObjectWrapPanOn | kQTVRObjectWrapTiltOn | kQTVRObjectCanZoomOn | kQTVRObjectTranslationOn) \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRPROFlyThruAdapter.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRPROFlyThruAdapter.h deleted file mode 100644 index 63184e7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRPROFlyThruAdapter.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "FlyThruAdapter.h" - -@class VRPROController; - -/** \brief FlyThruAdapter for VRPro -* -* -* FlyThruAdapter for VRPro -*/ - -@interface VRPROFlyThruAdapter : FlyThruAdapter { -} - -- (id) initWithVRController: (VRPROController*) aVRController; -- (NSImage*) getCurrentCameraImage: (BOOL) highQuality; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRPresetPreview.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRPresetPreview.h deleted file mode 100644 index a708116..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRPresetPreview.h +++ /dev/null @@ -1,34 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "VRView.h" -#import "SelectionView.h" - -@interface VRPresetPreview : VRView { - BOOL isEmpty, isSelected; - IBOutlet SelectionView *selectionView; - - IBOutlet VRController *presetController; - int presetIndex; -} - -- (void)setIsEmpty:(BOOL)empty; -- (BOOL)isEmpty; -- (void)setSelected; -- (void)setIndex:(int)index; -- (int)index; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRView.h deleted file mode 100644 index 2eccb8e..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRView.h +++ /dev/null @@ -1,569 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "DCMPix.h" - -#ifdef __cplusplus -#import "VTKView.h" - -#define id Id -#include "vtkCommand.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" - -#include "vtkPlane.h" -#include "vtkPlanes.h" -#include "vtkPlaneSource.h" -#include "vtkBoxWidget.h" -#include "vtkPiecewiseFunction.h" -#include "vtkPiecewiseFunction.h" -#include "vtkColorTransferFunction.h" -#include "vtkVolumeProperty.h" -#include "vtkVolumeRayCastCompositeFunction.h" -#include "vtkVolumeRayCastMapper.h" -#include "vtkVolumeRayCastMIPFunction.h" -#include "vtkFixedPointVolumeRayCastMapper.h" -#include "vtkTransform.h" -#include "vtkSphere.h" -#include "vtkImplicitBoolean.h" -#include "vtkExtractGeometry.h" -#include "vtkDataSetMapper.h" -#include "vtkPicker.h" -#include "vtkCellPicker.h" -#include "vtkPointPicker.h" -#include "vtkLineSource.h" -#include "vtkPolyDataMapper2D.h" -#include "vtkActor2D.h" -#include "vtkExtractPolyDataGeometry.h" -#include "vtkProbeFilter.h" -#include "vtkCutter.h" -#include "vtkTransformPolyDataFilter.h" -#include "vtkXYPlotActor.h" -#include "vtkClipPolyData.h" -#include "vtkBox.h" -#include "vtkCallbackCommand.h" -#include "vtkTextActor.h" -#include "vtkTextProperty.h" -#include "vtkImageFlip.h" -#include "vtkAnnotatedCubeActor.h" -#include "vtkOrientationMarkerWidget.h" -#include "vtkVolumeTextureMapper2D.h" -#include "vtkVolumeTextureMapper3D.h" -#include "OsiriXFixedPointVolumeRayCastMapper.h" - -#include "vtkCellArray.h" -#include "vtkProperty2D.h" - -#undef id - -class vtkMyCallbackVR; - -#else - -typedef char* vtkTransform; -typedef char* vtkImageActor; -typedef char* vtkImageMapToColors; -typedef char* vtkLookupTable; -typedef char* vtkImageReslice; -typedef char* vtkImageImport; -typedef char* vtkCamera; -typedef char* vtkActor; -typedef char* vtkPolyDataMapper; -typedef char* vtkOutlineFilter; -typedef char* vtkLineWidget; - -typedef char* vtkTextActor; -typedef char* vtkVolumeRayCastMapper; -typedef char* vtkFixedPointVolumeRayCastMapper; -typedef char* OsiriXFixedPointVolumeRayCastMapper; -typedef char* vtkVolumeRayCastMIPFunction; -typedef char* vtkVolume; - - -typedef char* vtkPiecewiseFunction; -typedef char* vtkVolumeTextureMapper2D; -typedef char* vtkPolyData; -typedef char* vtkVolumeProperty; -typedef char* vtkPolyDataMapper2D; - -typedef char* vtkColorTransferFunction; -typedef char* vtkActor2D; -typedef char* vtkMyCallback; -typedef char* vtkBoxWidget; -typedef char* vtkVolumeRayCastCompositeFunction; - -typedef char* vtkRenderer; -typedef char* vtkVolumeTextureMapper3D; -typedef char* vtkOrientationMarkerWidget; - -typedef char* vtkMyCallbackVR; -#endif - -#include -#import "ViewerController.h" -#import "WaitRendering.h" - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" - -@class DICOMExport; -@class Camera; -@class VRController; -@class OSIVoxel; - -#import "CLUTOpacityView.h" - -/** \brief Volume Rendering View -* -* View for volume rendering and MIP -*/ -#ifdef __cplusplus -#else -#define VTKView NSView -#endif - -@interface VRView : VTKView -{ - NSTimer *autoRotate, *startAutoRotate; - BOOL rotate, flyto; - int incFlyTo; - - float flyToDestination[ 3]; - - int projectionMode; - NSMutableArray *blendingPixList; - DCMPix *blendingFirstObject; - float *blendingData, blendingFactor; - ViewerController *blendingController; - char *blendingData8; - vImage_Buffer blendingSrcf, blendingDst8; - float blendingWl, blendingWw, measureLength; - vtkImageImport *blendingReader; - - OsiriXFixedPointVolumeRayCastMapper *blendingVolumeMapper; - vtkVolumeTextureMapper3D *blendingTextureMapper; - - vtkVolume *blendingVolume; - vtkVolumeProperty *blendingVolumeProperty; - vtkColorTransferFunction *blendingColorTransferFunction; - vtkVolumeRayCastCompositeFunction *blendingCompositeFunction; - vtkPiecewiseFunction *blendingOpacityTransferFunction; - double blendingtable[257][3]; - - BOOL needToFlip, blendingNeedToFlip, firstTime; - - IBOutlet NSWindow *export3DWindow; - IBOutlet NSSlider *framesSlider; - IBOutlet NSMatrix *quality, *rotation, *orientation; - IBOutlet NSTextField *pixelInformation; - - IBOutlet NSWindow *exportDCMWindow; - IBOutlet NSSlider *dcmframesSlider; - IBOutlet NSMatrix *dcmExportMode, *dcmquality, *dcmrotation, *dcmorientation; - IBOutlet NSBox *dcmBox; - IBOutlet NSMatrix *dcmExportDepth; - IBOutlet NSTextField *dcmSeriesName; - NSString *dcmSeriesString; - - IBOutlet NSWindow *export3DVRWindow; - IBOutlet NSMatrix *VRFrames; - IBOutlet NSMatrix *VRquality; - - IBOutlet NSMatrix *scissorStateMatrix; - IBOutlet NSColorWell *backgroundColor; - - IBOutlet NSObjectController *shadingController; - - long numberOfFrames; - BOOL bestRenderingMode; - float rotationValue, factor; - long rotationOrientation, renderingMode; - - NSArray *currentOpacityArray; - NSMutableArray *pixList; - DCMPix *firstObject; - float *data; - - float valueFactor, blendingValueFactor; - float OFFSET16, blendingOFFSET16; - - unsigned char *dataFRGB; - char *data8; - vImage_Buffer srcf, dst8; - - short currentTool; - float wl, ww; - float LOD, lowResLODFactor; - float cosines[ 9]; - float blendingcosines[ 9]; - double table[257][3]; - double alpha[ 257]; - - NSCursor *cursor; - BOOL cursorSet; - - vtkRenderer *aRenderer; - vtkCamera *aCamera; - - vtkActor *outlineRect; - vtkPolyDataMapper *mapOutline; - vtkOutlineFilter *outlineData; - - vtkMyCallbackVR *cropcallback; - vtkOrientationMarkerWidget *orientationWidget; - vtkBoxWidget *croppingBox; - double initialCroppingBoxBounds[6]; - BOOL dontUseAutoCropping; - - - // MAPPERS - - OsiriXFixedPointVolumeRayCastMapper *volumeMapper; - vtkVolumeTextureMapper3D *textureMapper; - - vtkVolume *volume; - vtkVolumeProperty *volumeProperty; - vtkColorTransferFunction *colorTransferFunction; - vtkTextActor *textWLWW, *textX; - BOOL isViewportResizable; - vtkTextActor *oText[ 4], oTextS[ 4]; - char WLWWString[ 200]; - vtkImageImport *reader; - vtkVolumeRayCastCompositeFunction *compositeFunction; - vtkPiecewiseFunction *opacityTransferFunction; - - vtkColorTransferFunction *red, *green, *blue; - BOOL noWaitDialog, isRGB, isBlendingRGB, ROIUPDATE; - WaitRendering *splash; - - double camPosition[ 3], camFocal[ 3]; - - NSMutableArray *ROIPoints; - - vtkPolyData *ROI3DData; - vtkPolyDataMapper2D *ROI3D; - vtkActor2D *ROI3DActor; - - vtkPolyData *Line2DData; - vtkPolyDataMapper2D *Line2D; - vtkActor2D *Line2DActor; - vtkTextActor *Line2DText; - - BOOL clamping; - - DICOMExport *exportDCM; - - NSMutableArray *point3DActorArray; - NSMutableArray *point3DPositionsArray; - NSMutableArray *point3DRadiusArray; - NSMutableArray *point3DColorsArray; - BOOL display3DPoints; - IBOutlet NSPanel *point3DInfoPanel; - IBOutlet NSSlider *point3DRadiusSlider; - IBOutlet NSColorWell *point3DColorWell; - IBOutlet NSButton *point3DPropagateToAll, *point3DSetDefault; - IBOutlet VRController *controller; - float point3DDefaultRadius, point3DDefaultColorRed, point3DDefaultColorGreen, point3DDefaultColorBlue, point3DDefaultColorAlpha; - - BOOL _dragInProgress; - NSTimer *_mouseDownTimer, *_rightMouseDownTimer; - NSImage *destinationImage; - - NSPoint _mouseLocStart, _previousLoc; // mouseDown start point - BOOL _resizeFrame; - short _tool; - - float _startWW, _startWL, _startMin, _startMax; - - NSRect savedViewSizeFrame; - - float firstPixel, secondPixel; - - NSLock *deleteRegion; - - IBOutlet CLUTOpacityView *clutOpacityView; - BOOL advancedCLUT; - NSData *appliedCurves; - BOOL appliedResolution; - BOOL gDataValuesChanged; - - float verticalAngleForVR; - float rotateDirectionForVR; - - BOOL _contextualMenuActive; - - //Context for rendering to iChat - BOOL _hasChanged; - float iChatWidth, iChatHeight; - BOOL iChatFrameIsSet; - - // 3DConnexion SpaceNavigator - NSTimer *snCloseEventTimer; - BOOL snStopped; - UInt16 snConnexionClientID; - - BOOL clipRangeActivated; - double clippingRangeThickness; - - BOOL bestRenderingWasGenerated; - float superSampling; - BOOL dontResetImage, keep3DRotateCentered; - int fullDepthMode; -} - -@property BOOL dontUseAutoCropping, clipRangeActivated, keep3DRotateCentered, dontResetImage, bestRenderingMode; -@property int projectionMode; -@property double clippingRangeThickness; -@property float lowResLODFactor; -@property long renderingMode; -@property (readonly) NSArray* currentOpacityArray; -@property (retain) DICOMExport *exportDCM; -@property (retain) NSString *dcmSeriesString; - -+ (BOOL) getCroppingBox:(double*) a :(vtkVolume *) volume :(vtkBoxWidget*) croppingBox; -+ (void) setCroppingBox:(double*) a :(vtkVolume *) volume; -- (void) setBlendingCroppingBox:(double*) a; -- (void) setCroppingBox:(double*) a; -- (BOOL) croppingBox:(double*) a; -- (void) showCropCube:(id) sender; -- (void) restoreFullDepthCapture; -- (void) prepareFullDepthCapture; -- (float*) imageInFullDepthWidth: (long*) w height:(long*) h isRGB:(BOOL*) isRGB; -- (float*) imageInFullDepthWidth: (long*) w height:(long*) h isRGB:(BOOL*) rgb blendingView:(BOOL) blendingView; -- (NSDictionary*) exportDCMCurrentImage; -- (NSDictionary*) exportDCMCurrentImageIn16bit: (BOOL) fullDepth; -- (void) renderImageWithBestQuality: (BOOL) best waitDialog: (BOOL) wait; -- (void) renderImageWithBestQuality: (BOOL) best waitDialog: (BOOL) wait display: (BOOL) display; -- (void) endRenderImageWithBestQuality; -- (void) resetAutorotate:(id) sender; -- (void) setEngine: (long) engineID showWait:(BOOL) showWait; -- (IBAction)changeColorWith:(NSColor*) color; -- (IBAction)changeColor:(id)sender; -- (NSColor*)backgroundColor; -- (void) exportDICOMFile:(id) sender; --(unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; --(unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits offset:(int*) offset isSigned:(BOOL*) isSigned; --(void) set3DStateDictionary:(NSDictionary*) dict; --(NSMutableDictionary*) get3DStateDictionary; -- (void) setBlendingEngine: (long) engineID; -- (void) setBlendingEngine: (long) engineID showWait:(BOOL) showWait; -- (void) getShadingValues:(float*) ambient :(float*) diffuse :(float*) specular :(float*) specularpower; -- (void) setShadingValues:(float) ambient :(float) diffuse :(float) specular :(float) specularpower; --(void) movieChangeSource:(float*) volumeData; --(void) movieChangeSource:(float*) volumeData showWait :(BOOL) showWait; --(void) movieBlendingChangeSource:(long) index; --(void) setBlendingWLWW:(float) iwl :(float) iww; --(void) setBlendingCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void) setBlendingFactor:(float) a; -//-(NSDate*) startRenderingTime; -//-(void) newStartRenderingTime; -//-(void) deleteStartRenderingTime; --(void) setOpacity:(NSArray*) array; -- (void) setLowResolutionCamera: (Camera*) cam; -//-(void) runRendering; -//-(void) startRendering; -//-(void) stopRendering; -- (void) autoCroppingBox; -- (float) LOD; --(void) setLOD:(float)f; --(void) setCurrentTool:(short) i; -- (int) currentTool; -- (int) _tool; -- (void) resetCroppingBox; --(id)initWithFrame:(NSRect)frame; --(short)setPixSource:(NSMutableArray*)pix :(float*) volumeData; --(void)dealloc; -//Fly to point in world coordinates; -- (void) flyTo:(float) x :(float) y :(float) z; -// Fly to Volume Point -- (void) flyToVoxel:(OSIVoxel *)voxel; -//Fly to 2D position on a slice; -- (void) flyToPoint:(NSPoint)point slice:(int)slice; -- (void) processFlyTo; --(void) setWLWW:(float) wl :(float) ww; --(void) getWLWW:(float*) wl :(float*) ww; --(void) getBlendingWLWW:(float*) iwl :(float*) iww; --(void) setBlendingPixSource:(ViewerController*) bC; --(IBAction) endQuicktimeSettings:(id) sender; --(IBAction) endDCMExportSettings:(id) sender; --(IBAction) endQuicktimeVRSettings:(id) sender; --(IBAction) exportQuicktime :(id) sender; --(float) rotation; --(float) numberOfFrames; --(void) Azimuth:(float) z; --(void) Vertical:(float) z; --(NSImage*) nsimageQuicktime; --(NSImage*) nsimage:(BOOL) q; --(void) setCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(void)activateShading:(BOOL)on; --(IBAction) switchShading:(id) sender; --(long) shading; -- (void) setEngine: (long) engineID; -- (void) setProjectionMode: (int) mode; -- (IBAction) resetImage:(id) sender; --(void) saView:(id) sender; -- (IBAction)setRenderMode:(id)sender; -- (void) setBlendingMode: (long) modeID; --(NSImage*) nsimageQuicktime:(BOOL) renderingMode; -- (vtkRenderer*) vtkRenderer; -- (vtkCamera*) vtkCamera; -- (void) setVtkCamera:(vtkCamera*)aVtkCamera; -- (void)setCenterlineCamera: (Camera *) cam; -- (void) setCamera: (Camera*) cam; -- (Camera*) camera; -- (Camera*) cameraWithThumbnail:(BOOL) produceThumbnail; -- (IBAction) scissorStateButtons:(id) sender; -- (void) updateScissorStateButtons; --(void) switchOrientationWidget:(id) sender; -- (void) computeOrientationText; -- (void) getOrientation: (float*) o; --(void) bestRendering:(id) sender; -- (void) setMode: (long) modeID; -- (long) mode; -- (float) scaleFactor; -- (double) getResolution; -- (void) getCosMatrix: (float *) cos; -- (void) getOrigin: (float *) origin; -- (void) getOrigin: (float *) origin windowCentered:(BOOL) wc; -- (void) getOrigin: (float *) origin windowCentered:(BOOL) wc sliceMiddle:(BOOL) sliceMiddle; -- (void) getOrigin: (float *) origin windowCentered:(BOOL) wc sliceMiddle:(BOOL) sliceMiddle blendedView:(BOOL) blendedView; -- (BOOL) isViewportResizable; -- (void) setViewportResizable: (BOOL) boo; -- (void) scrollInStack: (float) delta; - -// 3D Points -- (BOOL) get3DPixelUnder2DPositionX:(float) x Y:(float) y pixel: (long*) pix position:(float*) position value:(float*) val; -- (BOOL) get3DPixelUnder2DPositionX:(float) x Y:(float) y pixel: (long*) pix position:(float*) position value:(float*) val maxOpacity: (float) maxOpacity minValue: (float) minValue; - -- (void) add3DPoint: (double) x : (double) y : (double) z : (float) radius : (float) r : (float) g : (float) b; -- (void) add3DPoint: (double) x : (double) y : (double) z; -- (void) add3DPointActor: (vtkActor*) actor; -- (void) addRandomPoints: (int) n : (int) r; -- (void) throw3DPointOnSurface: (double) x : (double) y; -- (void) setDisplay3DPoints: (BOOL) on; -- (void) toggleDisplay3DPoints; -- (BOOL) isAny3DPointSelected; -- (unsigned int) selected3DPointIndex; -- (void) unselectAllActors; -- (void) remove3DPointAtIndex: (unsigned int) index; -- (void) removeSelected3DPoint; -- (IBAction) IBSetSelected3DPointColor: (id) sender; -- (IBAction) IBSetSelected3DPointRadius: (id) sender; -- (IBAction) IBPropagate3DPointsSettings: (id) sender; -- (void) setSelected3DPointColor: (NSColor*) color; -- (void) setAll3DPointsColor: (NSColor*) color; -- (void) set3DPointAtIndex:(unsigned int) index Color: (NSColor*) color; -- (void) setSelected3DPointRadius: (float) radius; -- (void) setAll3DPointsRadius: (float) radius; -- (void) set3DPointAtIndex:(unsigned int) index Radius: (float) radius; -- (IBAction) save3DPointsDefaultProperties: (id) sender; -- (void) load3DPointsDefaultProperties; -- (void) convert3Dto2Dpoint:(double*) pt3D :(double*) pt2D; -- (void)convert2DPoint:(float *)pt2D to3DPoint:(float *)pt3D; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) switchToSeriesRadio:(id) sender; -- (float) offset; -- (float) valueFactor; -- (void) setViewportResizable: (BOOL) boo; -- (void) squareView:(id) sender; -- (void) computeValueFactor; -- (void) setRotate: (BOOL) r; -- (float) factor; -- (float) imageSampleDistance; -- (float) blendingImageSampleDistance; -- (void) setViewSizeToMatrix3DExport; -- (void) restoreViewSizeAfterMatrix3DExport; -- (void) axView:(id) sender; -- (void) coView:(id) sender; -- (void) saViewOpposite:(id) sender; -- (void) render; -- (void) renderBlendedVolume; -- (void) goToCenter; -- (void)zoomMouseUp:(NSEvent *)theEvent; -- (void) setWindowCenter: (NSPoint) loc; -- (NSPoint) windowCenter; -- (double) getClippingRangeThicknessInMm; -- (void) setLODLow:(BOOL) l; - -// export -- (void) sendMail:(id) sender; -- (void) exportJPEG:(id) sender; -- (void) export2iPhoto:(id) sender; -- (void) exportTIFF:(id) sender; - -// cursors --(void) setCursorForView: (long) tool; - -//Dragging -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; - -//Menus -- (void)deleteRightMouseDownTimer; -- (void) showMenu:(NSTimer*)theTimer; - --(BOOL)actionForHotKey:(NSString *)hotKey; -- (void)setAdvancedCLUT:(NSMutableDictionary*)clut lowResolution:(BOOL)lowRes; -- (void)setAdvancedCLUTWithName:(NSString*)name; -- (BOOL)advancedCLUT; -- (VRController*)controller; -- (void)setController:(VRController*)aController; -- (BOOL)isRGB; - -- (OsiriXFixedPointVolumeRayCastMapper*)volumeMapper; -- (void)setVolumeMapper:(OsiriXFixedPointVolumeRayCastMapper*)aVolumeMapper; -- (vtkVolume*)volume; -- (void)setVolume:(vtkVolume*)aVolume; -- (char*)data8; -- (void)setData8:(char*)data; - -- (void)drawImage:(NSImage *)image inBounds:(NSRect)rect; -- (BOOL)checkHasChanged; -- (void)setIChatFrame:(BOOL)boo; -- (void)_iChatStateChanged:(NSNotification *)aNotification; - -- (void)yaw:(float)degrees; -- (void)panX:(double)x Y:(double)y; - -- (void)recordFlyThru; - -// 3DConnexion SpaceNavigator -- (void)connect2SpaceNavigator; -void VRSpaceNavigatorMessageHandler(io_connect_t connection, natural_t messageType, void *messageArgument); - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRViewVPRO.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRViewVPRO.h deleted file mode 100644 index 23def33..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VRViewVPRO.h +++ /dev/null @@ -1,320 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "VTKView.h" -#import "DCMPix.h" - -#ifdef __cplusplus - -#include "vli3.h" - -#define id Id - -#include "vtkVolumeProMapper.h" -#include "vtkVolumeProVP1000Mapper.h" -#include "vtkOpenGLVolumeProVP1000Mapper.h" - -#include "vtkCommand.h" -#include "vtkProperty.h" -#include "vtkActor.h" -#include "vtkPolyData.h" -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkVolume16Reader.h" -#include "vtkPolyDataMapper.h" -#include "vtkActor.h" -#include "vtkOutlineFilter.h" -#include "vtkImageReader.h" -#include "vtkImageImport.h" -#include "vtkCamera.h" -#include "vtkStripper.h" -#include "vtkLookupTable.h" -#include "vtkImageDataGeometryFilter.h" -#include "vtkProperty.h" -#include "vtkPolyDataNormals.h" -#include "vtkContourFilter.h" -#include "vtkImageData.h" -#include "vtkImageMapToColors.h" -#include "vtkImageActor.h" -#include "vtkLight.h" - -#include "vtkPlane.h" -#include "vtkPlanes.h" -#include "vtkPlaneSource.h" -#include "vtkBoxWidget.h" -#include "vtkPlaneWidget.h" -#include "vtkPiecewiseFunction.h" -#include "vtkPiecewiseFunction.h" -#include "vtkColorTransferFunction.h" -#include "vtkVolumeProperty.h" -#include "vtkVolumeRayCastCompositeFunction.h" -#include "vtkVolumeRayCastMapper.h" -//#include "vtkOpenGLVolumeRayCastMapper.h" -#include "vtkVolumeRayCastMIPFunction.h" - -#include "vtkTransform.h" -#include "vtkSphere.h" -#include "vtkImplicitBoolean.h" -#include "vtkExtractGeometry.h" -#include "vtkDataSetMapper.h" -#include "vtkPicker.h" -#include "vtkCellPicker.h" -#include "vtkPointPicker.h" -#include "vtkLineSource.h" -#include "vtkPolyDataMapper2D.h" -#include "vtkActor2D.h" -#include "vtkExtractPolyDataGeometry.h" -#include "vtkProbeFilter.h" -#include "vtkCutter.h" -#include "vtkTransformPolyDataFilter.h" -#include "vtkXYPlotActor.h" -#include "vtkClipPolyData.h" -#include "vtkBox.h" -#include "vtkCallbackCommand.h" -#include "vtkTextActor.h" -#include "vtkTextProperty.h" -#include "vtkImageFlip.h" -#include "vtkAnnotatedCubeActor.h" -#include "vtkOrientationMarkerWidget.h" -#include "vtkVolumeTextureMapper2D.h" -#include "vtkCellArray.h" -#include "vtkProperty2D.h" -#undef id -class vtkMyCallbackVP; -#else -typedef char* vtkTransform; -typedef char* vtkImageActor; -typedef char* vtkImageMapToColors; -typedef char* vtkLookupTable; -typedef char* vtkImageReslice; -typedef char* vtkImageImport; -typedef char* vtkCamera; -typedef char* vtkActor; -typedef char* vtkPolyDataMapper; -typedef char* vtkOutlineFilter; -typedef char* vtkLineWidget; - -typedef char* vtkTextActor; -typedef char* vtkVolumeRayCastMapper; -typedef char* vtkVolumeRayCastMIPFunction; -typedef char* vtkVolume; - - -typedef char* vtkPiecewiseFunction; -typedef char* vtkVolumeTextureMapper2D; -typedef char* vtkPolyData; -typedef char* vtkVolumeProperty; -typedef char* vtkPolyDataMapper2D; - -typedef char* vtkColorTransferFunction; -typedef char* vtkActor2D; -typedef char* vtkMyCallback; -typedef char* vtkPlaneWidget; -typedef char* vtkBoxWidget; -typedef char* vtkMyCallbackVP; -typedef char* vtkOpenGLVolumeProVP1000Mapper; -typedef char* vtkVolumeRayCastCompositeFunction; -#endif - - -#import "Accelerate.h" -#import "ViewerController.h" -#import "WaitRendering.h" - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" - -@class DICOMExport; -@class Camera; - -/** \brief VRView for VRPro */ - -@interface VRPROView : VTKView -{ - NSTimer *autoRotate; - BOOL rotate; - - int projectionMode; - NSMutableArray *blendingPixList; - DCMPix *blendingFirstObject; - float *blendingData, blendingFactor; - ViewerController *blendingController; - char *blendingData8; - vImage_Buffer blendingSrcf, blendingDst8; - float blendingWl, blendingWw; - vtkImageImport *blendingReader; - - vtkVolumeRayCastMapper *blendingVolumeMapper; - vtkOpenGLVolumeProVP1000Mapper *blendingTextureMapper; -// vtkVolumeShearWarpMapper *blendingShearWarpMapper; - - vtkVolume *blendingVolume; - vtkVolumeProperty *blendingVolumeProperty; - vtkColorTransferFunction *blendingColorTransferFunction; - vtkVolumeRayCastCompositeFunction *blendingCompositeFunction; - vtkPiecewiseFunction *blendingOpacityTransferFunction; -// vtkCallbackCommand *cbStart; - -// vtkImageFlip *flip, *blendingFlip; - BOOL needToFlip; - - IBOutlet NSWindow *export3DWindow; - IBOutlet NSSlider *framesSlider; - IBOutlet NSMatrix *rotation, *orientation; - - IBOutlet NSWindow *exportDCMWindow; - IBOutlet NSSlider *dcmframesSlider; - IBOutlet NSMatrix *dcmExportMode, *dcmrotation, *dcmorientation; - IBOutlet NSBox *dcmBox; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *export3DVRWindow; - IBOutlet NSMatrix *VRFrames; - IBOutlet NSMatrix *projection; - - IBOutlet NSMatrix *scissorStateMatrix; - - long numberOfFrames; - BOOL bestRenderingMode; - float rotationValue, factor; - long rotationOrientation; - - NSMutableArray *pixList; - DCMPix *firstObject; - float *data; - float *dataFRGB, *undodata; - BOOL dataSwitch, ROIUPDATE; - char *data8; - vImage_Buffer srcf, dst8; - short currentTool; - float wl, ww; - float LOD; - float cosines[ 9]; - float blendingcosines[ 9]; - double table[256][3]; - double tableOpacity[256]; - - vtkRenderer *aRenderer; - vtkCamera *aCamera; - -// vtkActor *outlineRect; - vtkPolyDataMapper *mapOutline; - vtkOutlineFilter *outlineData; - - vtkMyCallbackVP *cropcallback; - vtkPlaneWidget *planeWidget; - vtkOrientationMarkerWidget *orientationWidget; - vtkBoxWidget *croppingBox; - - // MAPPERS - - vtkVolumeRayCastMapper *volumeMapper; - vtkOpenGLVolumeProVP1000Mapper *textureMapper; -// vtkVolumeShearWarpMapper *shearWarpMapper; - - vtkVolume *volume; - vtkVolumeProperty *volumeProperty; - vtkColorTransferFunction *colorTransferFunction; - vtkTextActor *textWLWW, *textX; - vtkTextActor *oText[ 4]; - char WLWWString[ 200]; - vtkImageImport *reader; - vtkVolumeRayCastCompositeFunction *compositeFunction; - vtkPiecewiseFunction *opacityTransferFunction; - - BOOL noWaitDialog, isRGB; - WaitRendering *splash; - - double camPosition[ 3], camFocal[ 3]; - - NSDate *startRenderingTime; - - vtkPolyData *ROI3DData; - vtkPolyDataMapper2D *ROI3D; - vtkActor2D *ROI3DActor; - - vtkPolyData *Line2DData; - vtkPolyDataMapper2D *Line2D; - vtkActor2D *Line2DActor; - vtkTextActor *Line2DText; - - DICOMExport *exportDCM; - - NSCursor *cursor; - BOOL cursorSet; - - NSRect savedViewSizeFrame; -} --(void) set3DStateDictionary:(NSDictionary*) dict; --(void) movieChangeSource:(float*) volumeData; --(void) movieBlendingChangeSource:(long) index; --(void) setBlendingWLWW:(float) iwl :(float) iww; --(void) setBlendingCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(NSMutableDictionary*) get3DStateDictionary; --(void) setBlendingFactor:(float) a; --(void) setShadingValues:(float) ambient :(float) diffuse :(float) specular :(float) specularpower; --(void) setBlendingEngine: (long) engineID; --(void) getShadingValues:(float*) ambient :(float*) diffuse :(float*) specular :(float*) specularpower; --(unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; --(void) updateVolumePRO; --(NSDate*) startRenderingTime; --(void) newStartRenderingTime; --(void) setOpacity:(NSArray*) array; --(void) runRendering; --(void) startRendering; --(void) stopRendering; --(void) setLOD:(float)f; --(void) setCurrentTool:(short) i; --(id)initWithFrame:(NSRect)frame; --(short)setPixSource:(NSMutableArray*)pix :(float*) volumeData; --(void)dealloc; --(void) setWLWW:(float) wl :(float) ww; --(void) getWLWW:(float*) wl :(float*) ww; --(void) setBlendingPixSource:(ViewerController*) bC; --(IBAction) endQuicktimeSettings:(id) sender; --(IBAction) endDCMExportSettings:(id) sender; --(IBAction) endQuicktimeVRSettings:(id) sender; --(IBAction) exportQuicktime :(id) sender; --(float) rotation; --(float) numberOfFrames; --(void) Azimuth:(float) z; --(void) Vertical:(float) a; --(NSImage*) nsimageQuicktime; --(NSImage*) nsimage:(BOOL) q; --(void) setCLUT:( unsigned char*) r : (unsigned char*) g : (unsigned char*) b; --(IBAction) switchShading:(id) sender; --(long) shading; -- (void) setEngine: (long) engineID; -- (IBAction) switchProjection:(id) sender; -- (IBAction) scissorStateButtons:(id) sender; -- (void) updateScissorStateButtons; -- (void) setMode: (long) modeID; --(void) switchOrientationWidget:(id) sender; -- (void) computeOrientationText; -- (void) getOrientation: (float*) o; -- (void) setLowResolutionCamera: (Camera*) cam; -- (IBAction) switchToSeriesRadio:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -+ (BOOL) getCroppingBox:(double*) a :(vtkVolume *) volume :(vtkBoxWidget*) croppingBox; -+ (void) setCroppingBox:(double*) a :(vtkVolume*) volume; --(void) setCursorForView: (long) tool; -- (long) offset; -- (float) valueFactor; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VTKView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VTKView.h deleted file mode 100644 index 60cbb9a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/VTKView.h +++ /dev/null @@ -1,57 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#ifdef __cplusplus -#import "vtkCocoaGLView.h" -//#import "vtkCocoaWindow.h" -#define id Id -#include "vtkRenderer.h" -#include "vtkRenderWindow.h" -#include "vtkRenderWindowInteractor.h" -#include "vtkCocoaRenderWindowInteractor.h" -#include "vtkCocoaRenderWindow.h" -#undef id -#else -typedef char* vtkCocoaWindow; -typedef char* vtkRenderer; -typedef char* vtkRenderWindow; -typedef char* vtkRenderWindowInteractor; -typedef char* vtkCocoaRenderWindowInteractor; -typedef char* vtkCocoaRenderWindow; -#endif - - -/** \brief View for using VTK */ -@interface VTKView : vtkCocoaGLView -{ - vtkCocoaRenderWindow *_cocoaRenderWindow; - vtkRenderer *_renderer; - vtkCocoaRenderWindowInteractor *_interactor; -} - --(id)initWithFrame:(NSRect)frame; --(void)dealloc; - -// Access to VTK instances --(vtkRenderer *)renderer; --(vtkRenderWindow *)renderWindow; --(vtkCocoaRenderWindow *) cocoaWindow; --(void)removeAllActors; --(void) prepareForRelease; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ViewerController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ViewerController.h deleted file mode 100644 index 3f586fa..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/ViewerController.h +++ /dev/null @@ -1,1053 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#define MAX4D 500 - -#import -#import - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class MPRController; -@class ViewerController; - - -@interface NSObject(OsiriXPluginDraggingDestination) -- (BOOL)performPluginDragOperation:(id )sender destination:(ViewerController*)vc; -@end - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -/** \brief Window Controller for 2D Viewer*/ - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - NSConditionLock *subLoadingThread; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - float highLighted; - int lastHighLightedRow; - NSTimer *highLightedTimer; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - BOOL subCtrlMinMaxComputed; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSSegmentedControl *blendingTypeRGB; - IBOutlet NSPopUpButton *blendingPlugins; - IBOutlet NSButton *blendingResample; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - IBOutlet NSButton *imageAllViewers; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *backCurCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[ MAX4D]; - NSMutableArray *pixList[ MAX4D], *roiList[ MAX4D]; - NSData *volumeData[ MAX4D]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage; - NSTimeInterval loadingPauseDelay; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - -// KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies, titledGantry, updateTilingViews, stopViewFrameDidChangeNotification; - - volatile BOOL checkEverythingLoaded; - - float resampleRatio; - -// NSRect savedWindowsFrame; -// BOOL windowIsMovedByTheUser; - - ViewerController *registeredViewer; - ViewerController *blendedWindow; - - NSMutableArray *retainedToolbarItems; - - BOOL nonVolumicDataWarningDisplayed; - - IBOutlet NSView *display12bitToolbarItemView; - IBOutlet NSMatrix *display12bitToolbarItemMatrix; - NSTimer *t12BitTimer; - - NSCalendarDate *injectionDateTime; - IBOutlet NSWindow *injectionTimeWindow; -} -@property(retain) NSCalendarDate *injectionDateTime; -@property(readonly) short currentOrientationTool; -@property(readonly) volatile float loadingPercentage; - -@property(readonly) NSTimer *timer; -@property(readonly) NSButton *keyImageCheck; - -/** Accessors for plugins using blending window */ -@property(readonly) NSWindow *blendingTypeWindow; -@property(readonly) NSButton *blendingTypeMultiply; -@property(readonly) NSButton *blendingTypeSubtract; -@property(readonly) NSSegmentedControl *blendingTypeRGB; -@property(readonly) NSPopUpButton *blendingPlugins; -@property(readonly) NSButton *blendingResample; - -/** Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object */ -@property(retain) ViewerController *blendedWindow; - -/** Array of all 2D Viewers */ -+ (NSMutableArray*) getDisplayed2DViewers; -+ (NSArray*) getDisplayedSeries; -+ (void) closeAllWindows; - -/** Create a new 2D Viewer -* @param pixList Array of DCMPix objects -* @param fileList Array of files for DCMPix objects -* @param volumeData NSData object containing the volume data -*/ -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData frame: (NSRect) frame; - -/** Create a new 2D Viewer -* @param pixList Array of DCMPix objects -* @param fileList Array of files for DCMPix objects -* @param volumeData NSData object containing the volume data -*/ -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; - -/** Notifcation to close Viewer */ -- (void) CloseViewerNotification: (NSNotification*) note; - -/** Change Series -* @param newPixList Array of DCMPix objects to used instead -* @param newDcmList Array of file strings -* @param newData NSData of new volume data -*/ -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -/** Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object */ -- (ViewerController*) blendedWindow; - -/** Display a Wait window with the message -* @param message The message for the Wait window to display */ -- (id) startWaitWindow :(NSString*) message; - - -/** Display a Wait window with the message progress length of max -* @param message The message for the Wait window to display -* @param max Progress bar max */ -- (id) startWaitProgressWindow :(NSString*) message :(long) max; - -/** Increment the Wait window progress bar -* @param waitWindow The Wait Window -* @param val Amount to increment the Wait window -*/ -- (void) waitIncrementBy:(id) waitWindow :(long) val; - - -/** End the wait window */ -- (void) endWaitWindow:(id) waitWindow; - -/** Refresh the current displayed image */ -- (void) needsDisplayUpdate; - -/** Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) */ -- (float*) volumePtr; -- (float*) volumePtr: (long) i; -- (NSData*)volumeData; -- (NSData*)volumeData:(long) i; - -/** Return the image pane object */ -- (DCMView*) imageView; -- (NSArray*) imageViews; - -/** Return the array of DCMPix objects */ -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -/** Return the array of DicomFile objects */ -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -/** Return the array of ROI objects */ -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; -- (void) setRoiList: (long) i array:(NSMutableArray*) a; - -/** Create a new MyPoint object */ -- (MyPoint*) newPoint: (float) x :(float) y; - -/** Create a new ROI object */ -- (ROI*) newROI: (long) type; - -/** Check if the ROI belongs to this viewer */ -- (BOOL) containsROI:(ROI*)roi; - -/** Are the data volumic: same height same width same orientation */ -- (BOOL) isDataVolumic; -- (BOOL) isDataVolumicIn4D:(BOOL) check4D checkEverythingLoaded:(BOOL) c; -- (BOOL) isDataVolumicIn4D:(BOOL) check4D; -- (void) displayAWarningIfNonTrueVolumicData; - -/** ReSort the images displayed according to this group/element */ -- (BOOL) sortSeriesByDICOMGroup: (int) gr element: (int) el; - -/** Delete ALL ROI objects for current series */ -- (IBAction) roiDeleteAll:(id) sender; - -/** methods to access global variables */ -+ (int) numberOf2DViewer; - -/** Adds to undo queue -* @param string The type of undo -* This method calls - (id) prepareObjectForUndo:(NSString*) string get the undo object -*/ -- (void) addToUndoQueue:(NSString*) string; -- (void) removeLastItemFromUndoQueue; - -/** Prepare for Undo -* returns the undo object -* @param string The type of undo -*/ -- (id) prepareObjectForUndo:(NSString*) string; - -/** Redo -* Gets the last object in the redo queue -* and Redo action */ -- (IBAction) redo:(id) sender; - -/** Undo -** Gets the last object in the undo queue -* Undo action*/ -- (IBAction) undo:(id) sender; - -/** Get path for current image */ -- (void) updateRepresentedFileName; - -/** Stops or aborts any open modal window */ -- (IBAction) closeModal:(id) sender; - -/** Brings ROI to front of ROI array for current image. -* If roi is in a group, the whole group is brought to the front -* @param roi The ROI that should be up front -*/ -- (void)bringToFrontROI:(ROI*)roi; -- (void)sendToBackROI:(ROI*) roi; - -/** Change fusion status -* Called by an action. -*/ -- (void) activateFusion:(id) sender; - -/** Action to Propagte current settings */ -- (void) copySettingsToOthers: (id)sender; - -/** Set the postprocessed flag */ -- (void) setPostprocessed:(BOOL) v; -- (BOOL) isPostprocessed; - -/** returns postprocessed status */ -- (BOOL) postprocessed; - -/** Apply the opacity setting -* @param str The name of the opacity setting. Should be one of the menu item name from the opacity menu -*/ -- (void) ApplyOpacityString:(NSString*) str; - -/** Refreshed window width and window level */ -- (void) refresh; - -/** Action to sset up non DICOM printing */ -- (IBAction) setPagesToPrint:(id) sender; - -/** Action to start printing. Called when print window is ordered out */ -- (IBAction) endPrint:(id) sender; - -+ (int) getToolEquivalentToHotKey:(int) h; -+ (int) getHotKeyEquivalentToTool:(int) h; -//- (IBAction) startMSRG:(id) sender; -//- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (long) imageIndex; -- (IBAction) editSUVinjectionTime:(id)sender; -- (IBAction) ok:(id)sender; -- (IBAction) cancel:(id)sender; -- (void) viewerControllerInit; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (BOOL) updateTilingViewsValue; -- (void) setUpdateTilingViewsValue:(BOOL) v; -- (IBAction) ConvertToBWMenu:(id) sender; -- (NSScreen*) get3DViewerScreen: (ViewerController*) v; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction) updateZVector:(id) sender; -- (void)displayDICOMOverlays: (id)sender; -- (IBAction)resampleDataBy2:(id)sender; -- (void) setStatusValue:(int) v; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor movieIndex:(int) j; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) roiLoadFromSeries: (NSString*) filename; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) mergeBrushROI: (id) sender; -- (IBAction) mergeBrushROI: (id) sender ROIs: (NSArray*) s ROIList: (NSMutableArray*) roiList; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -- (void) displayWarningIfGantryTitled; -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (void) setMatrixVisible: (BOOL) visible; -- (id) findPlayStopButton; -- (IBAction)setKeyImage:(id)sender; -- (IBAction) roiSelectDeselectAll:(id) sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) loadSeries:(NSNumber*) t; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (id) initWithPix:(NSMutableArray*)f withFiles:(NSMutableArray*) d withVolume:(NSData*) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (NSToolbar*) toolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (float) highLighted; -- (void) setHighLighted: (float) b; -- (void) syncThumbnails; -- (void) checkBuiltMatrixPreview; - -/** Used to determine in the Window Controller is a 2D Viewer. -* Always return YES -*/ -- (BOOL) is2DViewer; - -/** String for the currently selected CLUT menu item */ -- (NSString*) curCLUTMenu; - -/** String for the currently selected WLWW mewnu item */ -- (NSString*) curWLWWMenu; - -/** String for the currently selected Opacity menu item */ -- (NSString*) curOpacityMenu; - - -/** Flag to indicate the the window will close */ -- (BOOL) windowWillClose; - - -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (void)blendingSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo; -- (void)computeContextualMenu; -- (void)computeContextualMenuForROI:(ROI*)roi; - -/** Modality of the study */ -- (NSString*) modality; -- (void) selectFirstTilingView; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (BOOL)isPlaying4D; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (float) computeIntervalFlipNow: (NSNumber*) flipNowNumber; -- (void) computeIntervalAsync; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; - -/** Action to open the OrthogonalMPRViewer */ -- (IBAction) orthogonalMPRViewer:(id) sender; - -/** Action to open the EndoscopyViewer */ -- (IBAction) endoscopyViewer:(id) sender; - -/** Action to open the CurvedMPRViewer */ -- (IBAction) CurvedMPR:(id) sender; - -- (void) showCurrentThumbnail:(id) sender; - -/** Action to open SRViewer (Surface Rendering) */ -- (IBAction) SRViewer:(id) sender; - -/** Action to export as JPEG */ -- (void) exportJPEG:(id) sender; - -/** Notification to close all windows */ -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (IBAction) saveWindowsState:(id) sender; -- (IBAction) loadWindowsState:(id) sender; -- (IBAction) resetWindowsState:(id) sender; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers mode:(NSString*) mode; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; - -- (NSArray*)roisWithName:(NSString*)name; -- (NSArray*)roisWithName:(NSString*)name in4D:(BOOL)in4D; -- (NSArray*)roisWithName:(NSString*)name forMovieIndex:(int)m; - -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteROI: (ROI*) roi; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow animate: (BOOL) animate; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (void) executeRevert; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- (void) clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; -- (ViewerController*) registeredViewer; -- (void) setRegisteredViewer: (ViewerController*) viewer; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; -- (void) refreshToolbar; -- (void) redrawToolbar; -- (void) reloadAnnotations; -- (NSScrollView*) previewMatrixScrollView; - -#pragma mark- -#pragma mark Brush ROI Filters - -/** Applies the selected Brush ROI morpho filter -* @param rois ROI array to filter -* @param action The filter to apply: Possible values are: open, close, erode, dilate -* @param radius structuringElementRadius for the filter -* @param sendNotification Will post an OsirixROIChangeNotification notification if YES -*/ -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -/** Set the structuring radius for the brush ROI morpho filter */ -- (IBAction) setStructuringElementRadius: (id) sender; - - -/** Action to start filter for the selected brush ROI using the filter selected with -- (IBAction) morphoSelectedBrushROI: (id) sender -* Filters are: erode, dilate, open, close -*/ -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; - -/** Select filter for the selected brush ROI -* Filters are: erode, dilate, open, close -*/ -- (IBAction) morphoSelectedBrushROI: (id) sender; - - -/** Create a new ROI between two ROI -* Converts both ROIs into polygons, after a marching square isocontour -* @param a First ROI -* @param b Second ROI -* @param ratio Weighting used to morph between the two -*/ -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; - -/** Convert Polygon ROI to a Brush ROI. -* @param selectedROI The ROI to convert -*/ -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; - -/** Convert Brush ROI to a Polygon ROI. Returns converted ROI -* @param selectedROI The ROI to convert -* @param numPoints Number of points for the polygon -*/ -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -/** Returns an NSArray of all t2DPoint type ROI*/ -- (NSMutableArray*) point2DList; - - -/** Computes registration between the current Viewer and another ViewerController -* A HornRegistatration is first performed -* ITKTransform is used for the transform. -* At least three t2DPoint type ROI to compute -* Each point on the moving viewer needs a twin on the fixed viewer. -* Two points are twin brothers if and only if they have the same name. -*/ -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -/** Returns a new viewer with the current series resampled to match the Orientation of series in the other viewer -* Both series must be from the same study to insure matching imageOrientationPatient and imagePositionPatient -* @param movingViewer The ViewerController to resample the series to match -*/ -- (ViewerController*) resampleSeries:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects - -///** Creates a Key Object note for the current key Images */ -//- (IBAction)createKeyObjectNote:(id)sender; -// -///** End sheet method for creating key Object notes -//* Called internally -//*/ -//- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; - - -/** return flag indicating whether only the key images are being displayed */ -- (BOOL)displayOnlyKeyImages; - - -/** Returns whether the image at the index is a key image -* @param index of image to check -*/ -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView -/** Current ImageView window width */ --(float)curWW; - -/** Current ImageView window level */ --(float)curWL; - -/** Set window width and window level for current ImageView */ -- (void)setWL:(float)wl WW:(float)ww; - -/** Current ImageView horizontal flip */ -- (BOOL)xFlipped; - -/** Current ImageView vertical flip */ -- (BOOL)yFlipped; - -/** Current ImageView rotation */ -- (float)rotation; - -/** Set rotation for current ImageView */ -- (void)setRotation:(float)rotation; - -/** Set origin for current ImageView */ -- (void)setOrigin:(NSPoint) o; - -/** Current ImageView zoom */ -- (float)scaleValue; - -/** Set zoom for current ImageView */ -- (void)setScaleValue:(float)scaleValue; - -/** Set vertical flip for current ImageView */ -- (void)setYFlipped:(BOOL) v; - -/** Set horizontal flip for current ImageView */ -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -/** Returns the VRController for this ViewerController; creating one if necessary -* See VRController for modes - */ -- (VRController *)openVRViewerForMode:(NSString *)mode; - -/** Returns the VRPROController for this ViewerController; creating one if necessary -* See VRController for modes -*/ -//- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; - -/** Returns the OrthogonalMPRViewer for this ViewerController; creating one if necessary */ -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; - -/** Returns the OrthogonalMPRPETCTViewer for this ViewerController; creating one if necessary */ -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; - -/** Returns the EndoscopyViewer for this ViewerController; creating one if necessary */ -- (EndoscopyViewer *)openEndoscopyViewer; - -/** Returns the SRController for this ViewerController; creating one if necessary */ -- (SRController *)openSRViewer; - -/** Returns the MPRController for this ViewerController; creating one if necessary */ -#ifndef OSIRIX_LIGHT -- (MPRController *)openMPRViewer; -- (IBAction)mprViewer:(id)sender; -#endif - -/** Current SeriesView */ -- (SeriesView *) seriesView; - -/** Tiles the DCMView in the SeriesView of the current ViewerController -* This tiles images within a series. -* @param rows number of rows to tile -* @param columns number of columns -*/ -- (void)setImageRows:(int)rows columns:(int)columns; - -/** Tile the images within the active ViewerController -* Tiling based on tag of menu item -* 16 possible arrangements -* rows = (tag / 4) + 1; -* columns = (tag % 4) + 1; -* - (void)setImageRows:(int)rows columns:(int)columns then called -*/ -- (IBAction)setImageTiling: (id)sender; - -#pragma mark- -#pragma mark Calcium scoring -/** Deprecated -* Calcium Scoring moved to a plugin -*/ -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -/** Nonfunctional -* Centerline only works in Endoscopy Mode -*/ -//- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -/** Group selected ROI together */ -- (IBAction)groupSelectedROIs:(id)sender; -/** Ungroup ROI */ -- (IBAction)ungroupSelectedROIs:(id)sender; - -/** Lock selected ROI together */ -- (IBAction) lockSelectedROIs:(id)sender; -/** Unlock ROI */ -- (IBAction) unlockSelectedROIs:(id)sender; - -- (IBAction) makeSelectedROIsUnselectable:(id)sender; -- (IBAction) makeAllROIsSelectable:(id)sender; - -- (void) turnOffSyncSeriesBetweenStudies:(id) sender; -- (NSDictionary*) exportDICOMFileInt:(int)screenCapture withName:(NSString*)name; -- (NSDictionary*) exportDICOMFileInt:(int)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -#pragma mark- -#pragma mark 12 Bit -- (IBAction)enable12Bit:(id)sender; - -#pragma mark- -#pragma mark Navigator -- (IBAction)navigator:(id)sender; -- (void)updateNavigator; - -- (IBAction)threeDPanel:(id)sender; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Wait.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Wait.h deleted file mode 100644 index 79965c2..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Wait.h +++ /dev/null @@ -1,44 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -@class SendController; - -/** \brief Window Controller for the Wait Panel */ -@interface Wait : NSWindowController -{ - IBOutlet NSProgressIndicator *progress; - IBOutlet NSTextField *text, *elapsed; - IBOutlet NSButton *abort; - - SendController * _target; - NSDate *startTime; - BOOL cancel, aborted, openSession; - NSModalSession session; - NSTimeInterval lastTimeFrame, lastTimeFrameUpdate, firstTime, displayedTime; -} - -- (void)incrementBy:(double)delta; -- (NSProgressIndicator*) progress; -- (id) initWithString:(NSString*) str; -- (id) initWithString:(NSString*) str :(BOOL) useSession; -- (BOOL) aborted; -- (IBAction) abortButton: (id) sender; -- (void) setCancel :(BOOL) val; -- (void) setElapsedString :(NSString*) str; -- (void)setTarget:(id)target; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/WaitRendering.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/WaitRendering.h deleted file mode 100644 index 1243fd3..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/WaitRendering.h +++ /dev/null @@ -1,54 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -/** \brief Window Controller for Wait rendering */ -@interface WaitRendering : NSWindowController -{ - IBOutlet NSProgressIndicator *progress; - IBOutlet NSButton *abort; - IBOutlet NSTextField *message, *currentTimeText, *lastTimeText; - - NSString *string; - NSTimeInterval lastDuration, lastTimeFrame; - NSDate *startTime; - - BOOL aborted; - volatile BOOL stop; - BOOL cancel; - NSModalSession session; - - id cancelDelegate; - - NSTimeInterval displayedTime; - - NSWindow *sheetForWindow; -} - -@property (retain) NSWindow *sheetForWindow; - -- (id) init:(NSString*) s; -- (BOOL) run; -- (void) start; -- (void) end; -- (IBAction) abort:(id) sender; -- (void) setCancel :(BOOL) val; -- (BOOL) aborted; -- (void) setString:(NSString*) str; -- (void) setCancelDelegate:(id) object; -- (void) resetLastDuration; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Window3DController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Window3DController.h deleted file mode 100644 index d07069b..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/Window3DController.h +++ /dev/null @@ -1,115 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief SuperClass for 3D WindowControllers -*/ - - -#import -#import "ColorTransferView.h" -#import "OpacityTransferView.h" -#import "NSFullScreenWindow.h" -#import "OSIWindowController.h" - - -#define DATABASEPATH @"/DATABASE.noindex/" -#define STATEDATABASE @"/3DSTATE/" - - -@class ROIVolume; -@class ViewerController; -@class DCMPix; -@class VTKView; - - -/** \brief Base Window Controller for 3D viewers */ - -@interface Window3DController : OSIWindowController -{ - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSPopUpButton *wlwwPopup; - NSString *curWLWWMenu; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet ColorTransferView *clutView; - IBOutlet NSTextField *clutName; - IBOutlet NSPopUpButton *clutPopup; - NSString *curCLUTMenu; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - IBOutlet NSPopUpButton *OpacityPopup; - NSString *curOpacityMenu; - - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - -} - -- (void) sendMailImage: (NSImage*) im; -- (ViewerController*) blendingController; -- (id) view; -- (ViewerController*) viewer; - -- (void) setWLWW: (float) wl : (float) ww; -- (void) getWLWW: (float*) wl : (float*) ww; -- (IBAction) endSetWLWW: (id) sender; -- (IBAction) SetWLWW: (id) sender; -- (IBAction) endNameWLWW: (id) sender; -- (IBAction) updateSetWLWW: (id) sender; -- (void) deleteWLWW: (NSWindow *) sheet returnCode: (int) returnCode contextInfo: (void*) contextInfo; -- (NSPopUpButton*) wlwwPopup; - -- (IBAction) AddCLUT: (id) sender; -- (IBAction) clutAction: (id) sender; -- (IBAction) endCLUT: (id) sender; -- (void) ApplyCLUT: (id) sender; -- (void) ApplyCLUTString: (NSString*) str; // Overridden in children for now. -- (void) deleteCLUT: (NSWindow*) sheet returnCode: (int) returnCode contextInfo: (void*) contextInfo; -- (void) UpdateCLUTMenu: (NSNotification*) note; -- (void) CLUTChanged: (NSNotification*) note; -- (NSPopUpButton*) clutPopup; - -- (void) ApplyOpacity: (id) sender; -- (IBAction) endOpacity: (id) sender; -- (void) deleteOpacity: (NSWindow*) sheet returnCode: (int) returnCode contextInfo: (void*) contextInfo; -- (NSPopUpButton*) OpacityPopup; - -- (void) offFullScreen; -- (IBAction) fullScreenMenu: (id) sender; -- (long) movieFrames; -- (void) setMovieFrame: (long) l; - -- (void) print:(id) sender; -- (BOOL)is4D; - -- (NSArray*) pixList; -- (NSArray*) fileList; - -- (void) ApplyOpacityString: (NSString*) str; -- (void) load3DState; - -- (NSArray*) roiVolumes; -- (void) hideROIVolume: (ROIVolume*) v; -- (void) displayROIVolume: (ROIVolume*) v; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/WindowLayoutManager.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/WindowLayoutManager.h deleted file mode 100644 index e68b3dc..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/WindowLayoutManager.h +++ /dev/null @@ -1,42 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/* -The WindowLayoutManager class manages the various placement of the Viewers -primarily by use of hanging proctols and Advanced hanging protocols -and keeps track of the Viewer Related Window Controllers -It is a shared class. - */ - -#import - -@class OSIWindowController; -//@class LayoutWindowController; -@interface WindowLayoutManager : NSObject -{ - NSMutableDictionary *_currentHangingProtocol; - int IMAGEROWS, IMAGECOLUMNS; -} - -+ (id)sharedWindowLayoutManager; -- (int) IMAGEROWS; -- (int) IMAGECOLUMNS; - -#pragma mark- -#pragma mark hanging protocol setters and getters - -- (void) setCurrentHangingProtocolForModality: (NSString*) modality description: (NSString*) description; -- (NSDictionary*) currentHangingProtocol; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLController.h deleted file mode 100644 index 4a2c757..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLController.h +++ /dev/null @@ -1,86 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "OSIWindowController.h" - -@class ViewerController; - -/** \brief Window Controller for XML parsing */ - -@interface XMLController : OSIWindowController -{ - IBOutlet NSOutlineView *table; - IBOutlet NSScrollView *tableScrollView; - IBOutlet NSSearchField *search; - IBOutlet NSView *searchView, *dicomEditingView; - - NSMutableArray *xmlDcmData; - NSData *xmlData; - NSToolbar *toolbar; - NSString *srcFile; - NSXMLDocument *xmlDocument; - NSManagedObject *imObj; - NSMutableArray *dictionaryArray; - - ViewerController *viewer; - - BOOL isDICOM, dontClose; - BOOL editingActivated; - BOOL allowSelectionChange; - - int editingLevel; - - IBOutlet NSWindow *addWindow; - IBOutlet NSComboBox *dicomFieldsCombo; - IBOutlet NSTextField *addGroup, *addElement, *addValue; - - IBOutlet NSWindow *validatorWindow; - IBOutlet NSTextView *validatorText; - - BOOL dontListenToIndexChange; -} - -+ (XMLController*) windowForViewer: (ViewerController*) v; - -- (void) changeImageObject:(NSManagedObject*) image; -- (id) initWithImage:(NSManagedObject*) image windowName:(NSString*) name viewer:(ViewerController*) v; -- (void) setupToolbar; - -- (IBAction) addDICOMField:(id) sender; -- (IBAction) setTagName:(id) sender; -- (IBAction) setGroupElement: (id) sender; -- (IBAction) executeAdd:(id) sender; -- (IBAction) switchDICOMEditing:(id) sender; -- (IBAction) validatorWebSite:(id) sender; -- (IBAction) verify:(id) sender; -- (void) reload:(id) sender; - -- (void) expandAllItems: (id) sender; -- (void) deepExpandAllItems: (id) sender; -- (void) expandAll: (BOOL) deep; -- (void) collapseAllItems: (id) sender; -- (void) deepCollapseAllItems: (id) sender; -- (void) collapseAll: (BOOL) deep; -- (IBAction) setSearchString:(id) sender; - -- (NSString*) stringsSeparatedForNode:(NSXMLNode*) node; -- (void) traverse: (NSXMLNode*) node string:(NSMutableString*) string; - -@property(readonly) NSManagedObject *imObj; -@property(readonly) ViewerController *viewer; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLControllerDCMTKCategory.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLControllerDCMTKCategory.h deleted file mode 100644 index c8b14a6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLControllerDCMTKCategory.h +++ /dev/null @@ -1,26 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "XMLController.h" - -/** \brief DCMTK calls for xml */ - -@interface XMLController (XMLControllerDCMTKCategory) - -- (int) modifyDicom:(NSArray*) params encoding: (NSStringEncoding) encoding; -- (void) prepareDictionaryArray; -- (int) getGroupAndElementForName:(NSString*) name group:(int*) gp element:(int*) el; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLRPCMethods.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLRPCMethods.h deleted file mode 100644 index c64fb80..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/XMLRPCMethods.h +++ /dev/null @@ -1,27 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "basicHTTPServer.h" - - -/** \brief XML-RPC for RIS integration */ -@interface XMLRPCMethods : NSObject -{ - basicHTTPServer *httpServ; -} - -- (void)HTTPConnectionProtected:(basicHTTPConnection *)conn didReceiveRequest:(HTTPServerRequest *)mess; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/altivecFunctions.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/altivecFunctions.h deleted file mode 100644 index 71331df..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/altivecFunctions.h +++ /dev/null @@ -1,49 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -#ifdef __cplusplus -extern "C" -{ -#endif /*cplusplus*/ - #if __ppc__ || __ppc64__ - // ALTIVEC FUNCTIONS - extern void InverseLongs(register vector unsigned int *unaligned_input, register long size); - extern void InverseShorts( register vector unsigned short *unaligned_input, register long size); - extern void vmultiply(vector float *a, vector float *b, vector float *r, long size); - extern void vsubtract(vector float *a, vector float *b, vector float *r, long size); - extern void vsubtractAbs(vector float *a, vector float *b, vector float *r, long size); - extern void vmax8(vector unsigned char *a, vector unsigned char *b, vector unsigned char *r, long size); - extern void vmax(vector float *a, vector float *b, vector float *r, long size); - extern void vmin(vector float *a, vector float *b, vector float *r, long size); - extern void vmin8(vector unsigned char *a, vector unsigned char *b, vector unsigned char *r, long size); - #else - extern void vmaxIntel( vFloat *a, vFloat *b, vFloat *r, long size); - extern void vminIntel( vFloat *a, vFloat *b, vFloat *r, long size); - extern void vmax8Intel( vUInt8 *a, vUInt8 *b, vUInt8 *r, long size); - extern void vmin8Intel( vUInt8 *a, vUInt8 *b, vUInt8 *r, long size); - #endif - - extern void vmultiplyNoAltivec( float *a, float *b, float *r, long size); - extern void vminNoAltivec( float *a, float *b, float *r, long size); - extern void vmaxNoAltivec(float *a, float *b, float *r, long size); - extern void vsubtractNoAltivec( float *a, float *b, float *r, long size); - extern void vsubtractNoAltivecAbs( float *a, float *b, float *r, long size); - - extern short Altivec; - -#ifdef __cplusplus -} -#endif /*cplusplus*/ \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/basicHTTPServer.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/basicHTTPServer.h deleted file mode 100644 index cfcce94..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/basicHTTPServer.h +++ /dev/null @@ -1,125 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import "TCPServer.h" - -@class basicHTTPConnection, HTTPServerRequest; -/** \brief HTTP server for RIS integration */ - -@interface basicHTTPServer : TCPServer { -@private - Class connClass; - NSURL *docRoot; - -} - -- (Class)connectionClass; -- (void)setConnectionClass:(Class)value; -// used to configure the subclass of basicHTTPConnection to create when -// a new connection comes in; by default, this is basicHTTPConnection - -- (NSURL *)documentRoot; -- (void)setDocumentRoot:(NSURL *)value; - -@end - - - -@interface basicHTTPServer (HTTPServerDelegateMethods) -- (void)HTTPServer:(basicHTTPServer *)serv didMakeNewConnection:(basicHTTPConnection *)conn; -// If the delegate implements this method, this is called -// by an HTTPServer when a new connection comes in. If the -// delegate wishes to refuse the connection, then it should -// invalidate the connection object from within this method. -@end - - -// This class represents each incoming client connection. -@interface basicHTTPConnection : NSObject { -@private - id delegate; - NSData *peerAddress; - basicHTTPServer *server; - NSMutableArray *requests; - NSInputStream *istream; - NSOutputStream *ostream; - NSMutableData *ibuffer; - NSMutableData *obuffer; - BOOL isValid; - BOOL firstResponseDone; - NSTimer *closeTimer; -} - -- (id)initWithPeerAddress:(NSData *)addr inputStream:(NSInputStream *)istr outputStream:(NSOutputStream *)ostr forServer:(basicHTTPServer *)serv runloopMode: (NSString*) r; - -- (id)delegate; -- (void)setDelegate:(id)value; - -- (NSData *)peerAddress; - -- (basicHTTPServer *)server; - -- (HTTPServerRequest *)nextRequest; -// get the next request that needs to be responded to - -- (BOOL)isValid; -- (void)invalidate; -// shut down the connection - -- (void)performDefaultRequestHandling:(HTTPServerRequest *)sreq; -// perform the default handling action: GET and HEAD requests for files -// in the local file system (relative to the documentRoot of the server) - -@end - -@interface basicHTTPConnection (HTTPConnectionDelegateMethods) -- (void)HTTPConnection:(basicHTTPConnection *)conn didReceiveRequest:(HTTPServerRequest *)mess; -- (void)HTTPConnection:(basicHTTPConnection *)conn didSendResponse:(HTTPServerRequest *)mess; -// The "didReceiveRequest:" is the most interesting -- -// tells the delegate when a new request comes in. -@end - - -// As NSURLRequest and NSURLResponse are not entirely suitable for use from -// the point of view of an HTTP server, we use CFHTTPMessageRef to encapsulate -// requests and responses. This class packages the (future) response with a -// request and other info for convenience. -@interface HTTPServerRequest : NSObject { -@private - basicHTTPConnection *connection; - CFHTTPMessageRef request; - CFHTTPMessageRef response; - NSInputStream *responseStream; -} - -- (id)initWithRequest:(CFHTTPMessageRef)req connection:(basicHTTPConnection *)conn; - -- (basicHTTPConnection *)connection; - -- (CFHTTPMessageRef)request; - -- (CFHTTPMessageRef)response; -- (void)setResponse:(CFHTTPMessageRef)value; -// The response may include a body. As soon as the response is set, -// the response may be written out to the network. - -- (NSInputStream *)responseBodyStream; -- (void)setResponseBodyStream:(NSInputStream *)value; -// If there is to be a response body stream (when, say, a big -// file is to be returned, rather than reading the whole thing -// into memory), then it must be set on the request BEFORE the -// response [headers] itself. - -@end - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/browserController.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/browserController.h deleted file mode 100644 index 4dd7c12..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/browserController.h +++ /dev/null @@ -1,552 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@class MPR2DController,NSCFDate; -@class BurnerWindowController,ViewerController; -@class BonjourPublisher,BonjourBrowser; -@class AnonymizerWindowController,QueryController; -@class LogWindowController,PreviewView; -@class MyOutlineView,DCMView,DCMPix; -@class StructuredReportController,BrowserMatrix; -@class PluginManagerController,WaitRendering, Wait; - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; -enum dbObjectSelection {oAny,oMiddle,oFirstForFirst}; - -/** \brief Window controller for Browser -* -* This is a large class with a lot of functions. -* Along with managing the Browser Window it manages all the view in the browser -* and manges the database -*/ - -@interface BrowserController : NSWindowController //NSObject -{ - NSManagedObjectModel *managedObjectModel, *userManagedObjectModel; - NSManagedObjectContext *managedObjectContext, *userManagedObjectContext; - NSPersistentStoreCoordinator *persistentStoreCoordinator, *userPersistentStoreCoordinator; - - NSDateFormatter *DateTimeFormat, *DateOfBirthFormat, *TimeFormat, *TimeWithSecondsFormat, *DateTimeWithSecondsFormat; - - NSRect visibleScreenRect[ 40]; - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *sendQueue; - NSMutableDictionary *bonjourReportFilesToCheck; - - NSMutableArray *previewPix, *previewPixThumbnails; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - BurnerWindowController *burnerWindowController; - LogWindowController *logWindowController; - - NSNumberFormatter *numFmt; - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer, *bonjourTimer, *deleteQueueTimer, *autoroutingQueueTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long previousBonjourIndex; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - - BOOL setDCMDone, mountedVolume, needDBRefresh, dontLoadSelectionSource; - - NSMutableArray *albumNoOfStudiesCache; - - volatile BOOL bonjourDownloading; - - NSArray *outlineViewArray, *originalOutlineViewArray; - NSArray *matrixViewArray; - - NSString *_searchString; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - NSMenu *columnsMenu; - IBOutlet BrowserMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - IBOutlet PreviewView *imageView; - - int subFrom, subTo, subInterval, subMax; - - IBOutlet NSWindow *subOpenWindow; - IBOutlet NSMatrix *subOpenMatrix3D, *subOpenMatrix4D, *supOpenButtons; - - IBOutlet NSWindow *subSeriesWindow; - IBOutlet NSButton *subSeriesOKButton; - IBOutlet NSTextField *memoryMessage; - IBOutlet NSBox *enoughMem, *notEnoughMem; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *rebuildWindow; - IBOutlet NSMatrix *rebuildType; - IBOutlet NSTextField *estimatedTime, *noOfFilesToRebuild, *warning; - - IBOutlet NSPopUpButton *timeIntervalPopup; - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow, *CDpasswordWindow, *ZIPpasswordWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSForm *rdPatientForm, *rdPixelForm, *rdVoxelForm, *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSView *exportQuicktimeView; - IBOutlet NSButton *exportHTMLButton; - - IBOutlet NSView *exportAccessoryView; - IBOutlet NSMatrix *compressionMatrix, *folderTree; - - NSRecursiveLock *checkIncomingLock; - NSLock *checkBonjourUpToDateThreadLock; - NSTimeInterval lastSaved; - NSPredicate *testPredicate; - - BOOL showAllImages, DatabaseIsEdited, isNetworkLogsActive, displayEmptyDatabase; - NSConditionLock *queueLock; - - IBOutlet NSScrollView *thumbnailsScrollView; - - NSPredicate *_fetchPredicate, *_filterPredicate; - NSString *_filterPredicateDescription; - - NSString *fixedDocumentsDirectory, *CDpassword, *pathToEncryptedFile, *passwordForExportEncryption; - - char cfixedDocumentsDirectory[ 4096], cfixedIncomingDirectory[ 4096]; - - NSTimeInterval databaseLastModification; - NSUInteger previousFlags; -// StructuredReportController *structuredReportController; - - NSMutableArray *deleteQueueArray; - NSRecursiveLock *deleteQueue, *deleteInProgress; - - NSMutableArray *autoroutingQueueArray; - NSLock *autoroutingQueue, *autoroutingInProgress; - NSMutableDictionary *autoroutingPreviousStudies; - - NSConditionLock *processorsLock; - NSRecursiveLock *decompressArrayLock, *decompressThreadRunning; - NSMutableArray *decompressArray; - - NSMutableString *pressedKeys; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - int reportToolbarItemType; - - IBOutlet NSWindow *addStudiesToUserWindow; - IBOutlet NSWindow *notificationEmailWindow; - IBOutlet NSArrayController *notificationEmailArrayController; - NSString *temporaryNotificationEmail, *customTextNotificationEmail; - - NSConditionLock *newFilesConditionLock; - NSMutableArray *viewersListToReload, *viewersListToRebuild; - - volatile BOOL newFilesInIncoming; - NSImage *notFoundImage, *standardOsiriXIcon, *downloadingOsiriXIcon, *currentIcon; - - BOOL ROIsAndKeyImagesButtonAvailable; - - BOOL rtstructProgressBar; - float rtstructProgressPercent; - - BOOL avoidRecursive; - - IBOutlet PluginManagerController *pluginManagerController; - NSTimeInterval lastCheckIncoming; - - WaitRendering *waitOpeningWindow; - Wait *waitCompressionWindow; - BOOL waitCompressionAbort; - - BOOL checkForMountedFiles; - - NSMutableArray *cachedFilesForDatabaseOutlineSelectionSelectedFiles; - NSMutableArray *cachedFilesForDatabaseOutlineSelectionCorrespondingObjects; - NSIndexSet *cachedFilesForDatabaseOutlineSelectionIndex; - - NSArray *mountedVolumes; -} - -@property(readonly) NSDateFormatter *DateTimeFormat, *DateOfBirthFormat, *TimeFormat, *TimeWithSecondsFormat, *DateTimeWithSecondsFormat; -@property(readonly) NSRecursiveLock *checkIncomingLock; -@property(readonly) NSManagedObjectContext *userManagedObjectContext; -@property(readonly) NSManagedObjectModel *userManagedObjectModel; -@property(readonly) NSArray *matrixViewArray; -@property(readonly) NSMatrix *oMatrix; -@property(readonly) long COLUMN; -@property(readonly) BOOL is2DViewer; -@property(readonly) MyOutlineView *databaseOutline; -@property(readonly) NSTableView *albumTable; -@property(readonly) BOOL isCurrentDatabaseBonjour; -@property(readonly) NSString *currentDatabasePath; -@property(readonly) NSString *localDatabasePath; -@property(readonly) NSString *bonjourPassword; -@property(readonly) long currentBonjourService; - -@property volatile BOOL bonjourDownloading; -@property(readonly) NSBox *bonjourSourcesBox; -@property(readonly) NSTextField *bonjourServiceName; -@property(readonly) NSTextField *bonjourPasswordTextField; -@property(readonly) NSButton *bonjourSharingCheck; -@property(readonly) NSButton *bonjourPasswordCheck; -@property(readonly) BonjourBrowser *bonjourBrowser; - -@property(readonly) NSString *documentsDirectory; -@property(readonly) NSString *fixedDocumentsDirectory; -@property(readonly) char *cfixedDocumentsDirectory, *cfixedIncomingDirectory; - -@property(retain) NSString *searchString, *CDpassword, *pathToEncryptedFile, *passwordForExportEncryption, *temporaryNotificationEmail, *customTextNotificationEmail; -@property(retain) NSPredicate *fetchPredicate, *testPredicate; -@property(readonly) NSPredicate *filterPredicate; -@property(readonly) NSString *filterPredicateDescription; - -@property BOOL rtstructProgressBar; -@property float rtstructProgressPercent; - -@property(readonly) PluginManagerController *pluginManagerController; - -+ (int) compressionForModality: (NSString*) mod quality:(int*) quality resolution: (int) resolution; -+ (BrowserController*) currentBrowser; -+ (NSMutableString*) replaceNotAdmitted: (NSMutableString*)name; -+ (NSArray*) statesArray; -+ (void) updateActivity; -+ (BOOL) isHardDiskFull; -+ (NSData*) produceJPEGThumbnail:(NSImage*) image; -+ (int) DefaultFolderSizeForDB; -+ (void) computeDATABASEINDEXforDatabase:(NSString*) path; -+ (void) encryptFileOrFolder: (NSString*) srcFolder inZIPFile: (NSString*) destFile password: (NSString*) password; -+ (void) encryptFiles: (NSArray*) srcFiles inZIPFile: (NSString*) destFile password: (NSString*) password; -- (IBAction) createDatabaseFolder:(id) sender; -- (void) openDatabasePath: (NSString*) path; -- (BOOL) shouldTerminate: (id) sender; -- (void) databaseOpenStudy: (NSManagedObject*) item; -- (IBAction) databaseDoublePressed:(id)sender; -- (void) setDBDate; -- (void) emptyDeleteQueueNow: (id) sender; -- (void) setDockIcon; -- (void) showEntireDatabase; -- (void) subSelectFilesAndFoldersToAdd: (NSArray*) filenames; -- (void)matrixNewIcon:(long) index: (NSManagedObject*)curFile; -- (IBAction) querySelectedStudy:(id) sender; -- (NSPredicate*) smartAlbumPredicate:(NSManagedObject*) album; -- (NSPredicate*) smartAlbumPredicateString:(NSString*) string; -- (void) emptyDeleteQueueThread; -- (void) emptyDeleteQueue:(id) sender; -- (void) addFileToDeleteQueue:(NSString*) file; -- (NSString*) getNewFileDatabasePath: (NSString*) extension; -- (NSString*) getNewFileDatabasePath: (NSString*) extension dbFolder: (NSString*) dbFolder; -- (NSManagedObjectModel *) managedObjectModel; -- (NSManagedObjectContext *) managedObjectContext; -- (NSManagedObjectContext *) localManagedObjectContext; -- (NSManagedObjectContext *) defaultManagerObjectContext; -- (NSString *) localDocumentsDirectory; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject; -- (NSArray*) imagesArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject onlyImages:(BOOL) onlyImages; -- (NSManagedObjectContext *) managedObjectContextLoadIfNecessary:(BOOL) loadIfNecessary; -- (void) setNetworkLogs; -- (BOOL) isNetworkLogsActive; -- (NSTimeInterval) databaseLastModification; -- (IBAction) matrixDoublePressed:(id)sender; -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand extendingSelection: (BOOL) extendingSelection; -- (IBAction) sendiDisk:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; -- (long) saveDatabase:(NSString*) path; -- (long) saveDatabase: (NSString*)path context: (NSManagedObjectContext*) context; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput async: (BOOL) async; -- (NSMutableArray*)copyFilesIntoDatabaseIfNeeded: (NSMutableArray*)filesInput async: (BOOL)async COPYDATABASE: (BOOL) COPYDATABASE COPYDATABASEMODE:(int) COPYDATABASEMODE; --(ViewerController*) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (ViewerController*) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; --(void) exportQuicktimeInt:(NSArray*) dicomFiles2Export :(NSString*) path :(BOOL) html; -- (IBAction) delItem:(id) sender; -- (void) proceedDeleteObjects: (NSArray*) objectsToDelete; -- (void) delObjects:(NSMutableArray*) objectsToDelete; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer tileWindows: (BOOL) tileWindows; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; -- (NSArray*) exportDICOMFileInt:(NSString*) location files:(NSMutableArray*) filesToExport objects:(NSMutableArray*) dicomFiles2Export; -- (void) processOpenViewerDICOMFromArray:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer: (ViewerController*) viewer; -- (void) setDatabaseValue:(id) object item:(id) item forKey:(NSString*) key; -- (void) setupToolbar; -- (void) addAlbumsFile: (NSString*) file; -- (BOOL) sendFilesToCurrentBonjourDB: (NSArray*) files; -- (NSString*) getDatabaseFolderFor: (NSString*) path; -- (NSString*) getDatabaseIndexFileFor: (NSString*) path; -- (IBAction) copyToDBFolder: (id) sender; -- (void) setCurrentBonjourService:(int) index; -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; -- (IBAction) selectAll3DSeries:(id) sender; -- (IBAction) selectAll4DSeries:(id) sender; -- (IBAction) switchSoundex: (id)sender; -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void)newViewerDICOM:(id) sender; -- (void) viewerDICOMKeyImages:(id) sender; -- (void) viewerDICOMMergeSelection:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (void) setDraggedItems:(NSArray*) pbItems; -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; -- (IBAction) saveDBListAs:(id) sender; -- (IBAction) openDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; -- (void) openDatabaseIn: (NSString*)a Bonjour: (BOOL)isBonjour refresh: (BOOL) refresh; -- (void) browserPrepareForClose; -- (IBAction) endReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabaseSheet: (id)sender; -- (void) previewSliderAction:(id) sender; -- (void) addHelpMenu; -+ (NSString*) _findFirstDicomdirOnCDMedia: (NSString*)startDirectory; -+ (BOOL)isItCD:(NSString*) path; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; -- (void)setToolbarReportIconForItem: (NSToolbarItem *)item; -- (void) executeAutorouting: (NSArray *)newImages rules: (NSArray*) autoroutingRules manually: (BOOL) manually; -- (void) resetListenerTimer; -- (IBAction) smartAlbumHelpButton:(id) sender; -- (IBAction) regenerateAutoComments:(id) sender; -- (DCMPix *)previewPix:(int)i; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (NSArray*) addFilesAndFolderToDatabase:(NSArray*) filenames; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject context: (NSManagedObjectContext*) context dbFolder:(NSString*) dbFolder; -- (void) createDBContextualMenu; -- (BOOL) unzipFile: (NSString*) file withPassword: (NSString*) pass destination: (NSString*) destination; -- (int) askForZIPPassword: (NSString*) file destination: (NSString*) destination; -- (IBAction) reparseIn3D:(id) sender; -- (IBAction) reparseIn4D:(id) sender; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -//- (void)runSendQueue:(id)object; -//- (void)addToQueue:(NSArray *)array; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; -//- (void)reloadSendLog:(id)sender; -- (void) pdfPreview:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; -- (BOOL) checkBurner; - -- (NSArray*) KeyImages: (id) sender; -- (NSArray*) ROIImages: (id) sender; -- (NSArray*) ROIsAndKeyImages: (id) sender; -- (NSArray*) ROIsAndKeyImages: (id) sender sameSeries: (BOOL*) sameSeries; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; -- (void) refreshSmartAlbums; -- (void) refreshAlbums; -- (void) waitForRunningProcesses; -- (void) checkResponder; - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - -- (void) refreshDatabase:(id) sender; -- (void) syncReportsIfNecessary; -- (void) syncReportsIfNecessary: (int) index; -- (void) removeAllMounted; -- (void) removeMountedImages: (NSString*) sNewDrive; - -//bonjour -- (void) getDICOMROIFiles:(NSArray*) files; -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (void) setServiceName:(NSString*) title; -- (NSString*) serviceName; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) setBonjourSharingEnabled:(BOOL) boo; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) askPassword; -- (void) resetToLocalDatabase; -- (void) switchToDefaultDBIfNeeded; -- (void) createContextualMenu; -- (void) checkIncomingThread:(id) sender; -- (void) checkIncoming:(id) sender; -- (void) checkIncomingNow:(id) sender; -- (NSArray*) openSubSeries: (NSArray*) toOpenArray; -- (IBAction) checkMemory:(id) sender; -- (IBAction) buildAllThumbnails:(id) sender; -- (IBAction) mergeStudies:(id) sender; - -// Finding Comparisons -- (NSArray *)relatedStudiesForStudy:(id)study; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectoryFor:(int) mode url:(NSString*) url; -- (NSString *)setFixedDocumentsDirectory; -- (IBAction)showLogWindow: (id)sender; -- (void) resetLogWindowController; - -- (NSString *)folderPathResolvingAliasAndSymLink:(NSString *)path; - -- (void)setFilterPredicate:(NSPredicate *)predicate description:(NSString*) desc; -- (NSPredicate *)createFilterPredicate; -- (NSString *)createFilterDescription; - -- (IBAction) generateReport: (id) sender; -- (IBAction) deleteReport: (id) sender; -//- (IBAction)srReports: (id)sender; - -- (IBAction) rebuildThumbnails:(id) sender; - -- (NSArray *)databaseSelection; - -- (void) importCommentsAndStatusFromDictionary:(NSDictionary*) d; -- (NSDictionary*) dictionaryWithCommentsAndStatus:(NSManagedObject *)s; -- (void) importReport:(NSString*) path UID: (NSString*) uid; - -- (void) newFilesGUIUpdateRun:(int) state; -- (void) newFilesGUIUpdateRun: (int) state viewersListToReload: (NSMutableArray*) cReload viewersListToRebuild: (NSMutableArray*) cRebuild; -- (void) newFilesGUIUpdate:(id) sender; - -- (IBAction) decompressSelectedFiles:(id) sender; -- (IBAction) compressSelectedFiles:(id) sender; -- (void) decompressArrayOfFiles: (NSArray*) array work:(NSNumber*) work; -- (void) decompressThread: (NSNumber*) typeOfWork; - -- (void) compressDICOMJPEG:(NSArray*) array; -- (void) decompressDICOMJPEG: (NSArray*) array; - -- (void) refreshMatrix:(id) sender; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (void) decompressWaitIncrementation: (NSNumber*) n; -- (void) initAnimationSlider; - -- (long) saveUserDatabase; - -+ (NSString*) DateTimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) TimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) DateOfBirthFormat:(NSDate*) d; -+ (NSString*) DateTimeFormat:(NSDate*) d; -+ (NSString*) TimeFormat:(NSDate*) t; - -- (int) findObject:(NSString*) request table:(NSString*) table execute: (NSString*) execute elements:(NSString**) elements; - -- (void) executeSend :(NSArray*) samePatientArray server:(NSDictionary*) server dictionary:(NSDictionary*) dict; - -- (void)writeMovie:(NSArray*)imagesArray name:(NSString*)fileName; -- (void) buildThumbnail:(NSManagedObject*) series; - -/******Notifactions posted by browserController*********** -OsirixNewStudySelectedNotification with userinfo key @"Selected Study" posted when a newStudy is selected in the browser -@"Close All Viewers" posted when close open windows if option key pressed. -@"DCMImageTilingHasChanged" when image tiling has changed -OsirixAddToDBNotification posted when files are added to the DB -*/ - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/dicomData.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/dicomData.h deleted file mode 100644 index 78cf924..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/dicomData.h +++ /dev/null @@ -1,52 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - - -/** \brief Tree node for xml */ -@interface dicomData: NSObject { - NSString *group; - NSString *name; - NSString *tagName; - NSString *content; - - NSMutableArray *parent; - NSMutableArray *child; - dicomData *parentData; -} - -- (dicomData*) parentData; -- (void) setParentData:(dicomData*) p; - -- (NSMutableArray*) parent; -- (void) setParent:(NSMutableArray*) p; - -- (NSMutableArray*) child; -- (void) setChild:(NSMutableArray*) p; - -- (NSString*) group; -- (void) setGroup:(NSString *) s; - -- (NSString*) name; -- (void) setName:(NSString *) s; - -- (NSString*) tagName; -- (void) setTagName:(NSString *) s; - -- (NSString*) content; -- (void) setContent:(NSString *) s; - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/dicomFile.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/dicomFile.h deleted file mode 100644 index e2e0cbd..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/dicomFile.h +++ /dev/null @@ -1,127 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - -/** \brief Parses files for importing into the database */ - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; /**< Test for TIFF file format */ -+ (BOOL) isFVTiffFile:(NSString *) file; /**< Test for FV TIFF file format */ -+ (BOOL) isDICOMFile:(NSString *) file; /**< Test for DICOM file format */ -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; /**< Test for DICOM file format, returns YES for compressed BOOL if Transfer syntax is compressed. */ -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed image:(BOOL*) image; -+ (BOOL) isXMLDescriptedFile:(NSString *) file; /**< Test for XML descripted file format */ -+ (BOOL) isXMLDescriptorFile:(NSString *) file; /**< Test for XML descriptor file format. Fake DICOM for other files with XML descriptor*/ -+ (void) setFilesAreFromCDMedia: (BOOL) f; /**< Set flag for filesAreFromCDMedia */ -+ (void) setDefaults; /**< Set DEFAULTSSET flag to NO */ -+ (void) resetDefaults; /**< Resets to user defaults */ -/** Return string with invalid characters replaced -* replaces @"^" with @" " -* replaces @"/" with @"-" -* replaces @"\r" with @"" -* replaces @"\n" with @"" -* @":" withString:@"-" -* removes empty space at end of strings -*/ -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; /**< Same as NSreplaceBadCharacter, but using char* and encodings */ -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; /**< Convert char* str with NSStringEncoding* encoding to NSString */ - - -- (long) NoOfFrames; /**< Number of frames in the file */ -- (long) getWidth; /**< Returns image width */ -- (long) getHeight; /**< Return image Height */ -- (long) NoOfSeries; /**< Returns number of seris in the file */ -- (id) init:(NSString*) f; /**< Init with file at location NSString* f */ -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; /**< init with file at location NSString* f DICOM files only if DICOMOnly = YES */ -- (id) initRandom; /**< Inits and returns an empty dicomFile */ -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; /**< Init with XMLDescriptor for information and f for image data */ -- (NSString*) patientUID; /**< Returns the patientUID */ - -/** Returns a dictionary of the elements used to import into the database -* Keys: -* @"studyComment", @"studyID", @"studyDescription", @"studyDate", @"modality", @"patientID", @"patientName", -* @"patientUID", @"fileType", @"commentsAutoFill", @"album", @"SOPClassUID", @"SOPUID", @"institutionName", -* @"referringPhysiciansName", @"performingPhysiciansName", @"accessionNumber", @"patientAge", @"patientBirthDate", -* @"patientSex", @"cardiacTime", @"protocolName", @"sliceLocation", @"imageID", @"seriesNumber", @"seriesDICOMUID", -* @"studyNumber", @"seriesID", @"hasDICOM" -* */ - -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; /**< Returns the dicomElement for the key */ -- (short)getPluginFile; /**< Looks for a plugin to decode the file. If one is found decodes the file */ -/** Parses the fileName to get the Series/Study/Image numbers -* Used for files that don't have the information embedded such as TIFFs and jpegs -* In these cases the files are sorted based on the file name. -* Numbers at the end become the image number. The remainder of the file becomes the Series and Study ID -*/ -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; /**< Decodes the file using the DCM Framework Returns -1 for failure 0 for success*/ - - --(short) getDicomFile; /**< Decode DICOM. Returns -1 for failure 0 for success */ - -#ifndef DECOMPRESS_APP --(short) getNIfTI; /**< Decode NIfTI Returns -1 for failure 0 for success */ -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; /**< Converts NIfTI to XML */ -+ (BOOL) isNIfTIFile:(NSString *) file; /**< Test for Nifti file format */ -#endif - -/** Returns the COMMENTSAUTOFILL default. -* If Yes, comments will be filled from the DICOM tag commentsGroup/commentsElement -*/ -//- (BOOL) SeparateCardiacMR; -//- (int) SeparateCardiacMRMode; -- (BOOL) autoFillComments; -- (BOOL) splitMultiEchoMR; /**< Returns the splitMultiEchoMR default If YES, splits multi echo series into separate series by Echo number. */ -- (BOOL) useSeriesDescription; /**< Returns the useSeriesDescription default. */ -- (BOOL) noLocalizer; /**< Returns the NOLOCALIZER default. */ -- (BOOL) combineProjectionSeries; /**< Returns the combineProjectionSeries default. If YES, combines are projection Modalities: CR, DR into one series. */ -- (BOOL) oneFileOnSeriesForUS; /**< Returns the oneFileOnSeriesForUS default */ -- (BOOL) combineProjectionSeriesMode; /**< Returns the combineProjectionSeriesMode default. */ -- (BOOL) checkForLAVIM; /**< Returns the CHECKFORLAVIM default. */ -- (BOOL) separateCardiac4D; /**< Returns the SEPARATECARDIAC4D default. If YES separates cardiac studies into separate gated series. */ -- (int) commentsGroup; /**< Returns the commentsGroup default. The DICOM group to get comments from. */ -- (int) commentsElement; /**< Returns the commentsGroup default. The DICOM element to get get comments from. */ -- (BOOL) containsString: (NSString*) s inArray: (NSArray*) a; -@end - - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/iPhoto.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/iPhoto.h deleted file mode 100644 index b98cbcd..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/iPhoto.h +++ /dev/null @@ -1,29 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -/** \brief Import into iPhoto*/ -@interface iPhoto : NSObject { - -ComponentInstance myComponent; -} - -- (void)runScript:(NSString *)txt; -- (BOOL)importIniPhoto: (NSArray*) files; -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/printView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/printView.h deleted file mode 100644 index b2d0b8a..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/printView.h +++ /dev/null @@ -1,40 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "ViewerController.h" - - -/** \brief View used for printing from ViewerController */ -@interface printView : NSView -{ - id viewer; - NSDictionary *settings; - NSArray *filesToPrint; - int columns; - int rows; - int ipp; - float headerHeight; -} - -- (id)initWithViewer:(id) v - settings:(NSDictionary*) s - files:(NSArray*) f - printInfo:(NSPrintInfo*) pi; -- (int)columns; -- (int)rows; -- (int)ipp; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/sourcesTableView.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/sourcesTableView.h deleted file mode 100644 index e643528..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/sourcesTableView.h +++ /dev/null @@ -1,10 +0,0 @@ - -#import - - -/** \brief Q/R sources TableView */ -@interface sourcesTableView : NSTableView -{ -} - -@end \ No newline at end of file diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/stringAdditions.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/stringAdditions.h deleted file mode 100644 index 93615c7..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/stringAdditions.h +++ /dev/null @@ -1,21 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface NSString (stringAdditions) - -- (NSComparisonResult)numericCompare:(NSString *)aString; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/stringNumericCompare.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/stringNumericCompare.h deleted file mode 100644 index e50007d..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/stringNumericCompare.h +++ /dev/null @@ -1,21 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - LGPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - -@interface NSString (stringNumericCompare) - --(NSComparisonResult)numericCompare:(NSString *)aString; - -@end diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/vtkFixedPointVolumeRayCastMapper.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/vtkFixedPointVolumeRayCastMapper.h deleted file mode 100644 index 4ec3aa6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/vtkFixedPointVolumeRayCastMapper.h +++ /dev/null @@ -1,743 +0,0 @@ -/*========================================================================= - - Program: Visualization Toolkit - Module: $RCSfile: vtkFixedPointVolumeRayCastMapper.h,v $ - - Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen - All rights reserved. - See Copyright.txt or http://www.kitware.com/Copyright.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 notice for more information. - -=========================================================================*/ -// .NAME vtkFixedPointVolumeRayCastMapper - A fixed point mapper for volumes -// .SECTION Description -// This is a software ray caster for rendering volumes in vtkImageData. -// It works with all input data types and up to four components. It performs -// composite or MIP rendering, and can be intermixed with geometric data. -// Space leaping is used to speed up the rendering process. In addition, -// calculation are performed in 15 bit fixed point precision. This mapper -// is threaded, and will interleave scan lines across processors. -// -// This mapper is a good replacement for vtkVolumeRayCastMapper EXCEPT: -// - it does not do isosurface ray casting -// - it does only interpolate before classify compositing -// - it does only maximum scalar value MIP -// -// The vtkVolumeRayCastMapper CANNOT be used in these instances when a -// vtkFixedPointVolumeRayCastMapper can be used: -// - if the data is not unsigned char or unsigned short -// - if the data has more than one component -// -// This mapper handles all data type from unsigned char through double. -// However, some of the internal calcultions are performed in float and -// therefore even the full float range may cause problems for this mapper -// (both in scalar data values and in spacing between samples). -// -// Space leaping is performed by creating a sub-sampled volume. 4x4x4 -// cells in the original volume are represented by a min, max, and -// combined gradient and flag value. The min max volume has three -// unsigned shorts per 4x4x4 group of cells from the original volume - -// one reprenting the minumum scalar index (the scalar value adjusted -// to fit in the 15 bit range), the maximum scalar index, and a -// third unsigned short which is both the maximum gradient opacity in -// the neighborhood (an unsigned char) and the flag that is filled -// in for the current lookup tables to indicate whether this region -// can be skipped. - -// .SECTION see also -// vtkVolumeMapper - -#ifndef __vtkFixedPointVolumeRayCastMapper_h -#define __vtkFixedPointVolumeRayCastMapper_h - -#include "vtkVolumeMapper.h" - -#define VTKKW_FP_SHIFT 15 -#define VTKKW_FPMM_SHIFT 17 -#define VTKKW_FP_MASK 0x7fff -#define VTKKW_FP_SCALE 32767.0 - -class vtkMatrix4x4; -class vtkMultiThreader; -class vtkPlaneCollection; -class vtkRenderer; -class vtkTimerLog; -class vtkVolume; -class vtkTransform; -class vtkRenderWindow; -class vtkColorTransferFunction; -class vtkPiecewiseFunction; -class vtkFixedPointVolumeRayCastMIPHelper; -class vtkFixedPointVolumeRayCastCompositeHelper; -class vtkFixedPointVolumeRayCastCompositeGOHelper; -class vtkFixedPointVolumeRayCastCompositeGOShadeHelper; -class vtkFixedPointVolumeRayCastCompositeShadeHelper; -class vtkDirectionEncoder; -class vtkEncodedGradientShader; -class vtkFiniteDifferenceGradientEstimator; -class vtkRayCastImageDisplayHelper; -class vtkFixedPointRayCastImage; -class vtkDataArray; - -//BTX -// Forward declaration needed for use by friend declaration below. -VTK_THREAD_RETURN_TYPE FixedPointVolumeRayCastMapper_CastRays( void *arg ); -VTK_THREAD_RETURN_TYPE vtkFPVRCMSwitchOnDataType( void *arg ); -//ETX - -class VTK_VOLUMERENDERING_EXPORT vtkFixedPointVolumeRayCastMapper : public vtkVolumeMapper -{ -public: - static vtkFixedPointVolumeRayCastMapper *New(); - vtkTypeRevisionMacro(vtkFixedPointVolumeRayCastMapper,vtkVolumeMapper); - void PrintSelf( ostream& os, vtkIndent indent ); - - // Description: - // Set/Get the distance between samples used for rendering - // when AutoAdjustSampleDistances is off, or when this mapper - // has more than 1 second allocated to it for rendering. - vtkSetMacro( SampleDistance, float ); - vtkGetMacro( SampleDistance, float ); - - // Description: - // Set/Get the distance between samples when interactive rendering is happening. - // In this case, interactive is defined as this volume mapper having less than 1 - // second allocated for rendering. When AutoAdjustSampleDistance is On, and the - // allocated render time is less than 1 second, then this InteractiveSampleDistance - // will be used instead of the SampleDistance above. - vtkSetMacro( InteractiveSampleDistance, float ); - vtkGetMacro( InteractiveSampleDistance, float ); - - // Description: - // Sampling distance in the XY image dimensions. Default value of 1 meaning - // 1 ray cast per pixel. If set to 0.5, 4 rays will be cast per pixel. If - // set to 2.0, 1 ray will be cast for every 4 (2 by 2) pixels. This value - // will be adjusted to meet a desired frame rate when AutoAdjustSampleDistances - // is on. - vtkSetClampMacro( ImageSampleDistance, float, 0.1f, 100.0f ); - vtkGetMacro( ImageSampleDistance, float ); - - // Description: - // This is the minimum image sample distance allow when the image - // sample distance is being automatically adjusted. - vtkSetClampMacro( MinimumImageSampleDistance, float, 0.1f, 100.0f ); - vtkGetMacro( MinimumImageSampleDistance, float ); - - // Description: - // This is the maximum image sample distance allow when the image - // sample distance is being automatically adjusted. - vtkSetClampMacro( MaximumImageSampleDistance, float, 0.1f, 100.0f ); - vtkGetMacro( MaximumImageSampleDistance, float ); - - // Description: - // If AutoAdjustSampleDistances is on, the the ImageSampleDistance - // and the SampleDistance will be varied to achieve the allocated - // render time of this prop (controlled by the desired update rate - // and any culling in use). If this is an interactive render (more - // than 1 frame per second) the SampleDistance will be increased, - // otherwise it will not be altered (a binary decision, as opposed - // to the ImageSampleDistance which will vary continuously). - vtkSetClampMacro( AutoAdjustSampleDistances, int, 0, 1 ); - vtkGetMacro( AutoAdjustSampleDistances, int ); - vtkBooleanMacro( AutoAdjustSampleDistances, int ); - - // Description: - // Automatically compute the sample distance from the data spacing. When - // the number of voxels is 8, the sample distance will be roughly 1/200 - // the average voxel size. The distance will grow proportionally to - // numVoxels^(1/3) until it reaches 1/2 average voxel size when number of - // voxels is 1E6. Note that ScalarOpacityUnitDistance is still taken into - // account and if different than 1, will effect the sample distance. - vtkSetClampMacro( LockSampleDistanceToInputSpacing, int, 0, 1 ); - vtkGetMacro( LockSampleDistanceToInputSpacing, int ); - vtkBooleanMacro( LockSampleDistanceToInputSpacing, int ); - - // Description: - // Set/Get the number of threads to use. This by default is equal to - // the number of available processors detected. - void SetNumberOfThreads( int num ); - int GetNumberOfThreads(); - - // Description: - // If IntermixIntersectingGeometry is turned on, the zbuffer will be - // captured and used to limit the traversal of the rays. - vtkSetClampMacro( IntermixIntersectingGeometry, int, 0, 1 ); - vtkGetMacro( IntermixIntersectingGeometry, int ); - vtkBooleanMacro( IntermixIntersectingGeometry, int ); - - // Description: - // What is the image sample distance required to achieve the desired time? - // A version of this method is provided that does not require the volume - // argument since if you are using an LODProp3D you may not know this information. - // If you use this version you must be certain that the ray cast mapper is - // only used for one volume (and not shared among multiple volumes) - float ComputeRequiredImageSampleDistance( float desiredTime, - vtkRenderer *ren ); - float ComputeRequiredImageSampleDistance( float desiredTime, - vtkRenderer *ren, - vtkVolume *vol ); - -//BTX - // Description: - // WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE - // Initialize rendering for this volume. - void Render( vtkRenderer *, vtkVolume * ); - - unsigned int ToFixedPointPosition( float val ); - void ToFixedPointPosition( float in[3], unsigned int out[3] ); - unsigned int ToFixedPointDirection( float dir ); - void ToFixedPointDirection( float in[3], unsigned int out[3] ); - void FixedPointIncrement( unsigned int position[3], unsigned int increment[3] ); - void GetFloatTripleFromPointer( float v[3], float *ptr ); - void GetUIntTripleFromPointer( unsigned int v[3], unsigned int *ptr ); - void ShiftVectorDown( unsigned int in[3], unsigned int out[3] ); - int CheckMinMaxVolumeFlag( unsigned int pos[3], int c ); - int CheckMIPMinMaxVolumeFlag( unsigned int pos[3], int c, unsigned short maxIdx, int flip ); - - void LookupColorUC( unsigned short *colorTable, - unsigned short *scalarOpacityTable, - unsigned short index, - unsigned char color[4] ); - void LookupDependentColorUC( unsigned short *colorTable, - unsigned short *scalarOpacityTable, - unsigned short index[4], - int components, - unsigned char color[4] ); - void LookupAndCombineIndependentColorsUC( - unsigned short *colorTable[4], - unsigned short *scalarOpacityTable[4], - unsigned short index[4], - float weights[4], - int components, - unsigned char color[4] ); - int CheckIfCropped( unsigned int pos[3] ); - -//ETX - - vtkGetObjectMacro( RenderWindow, vtkRenderWindow ); - vtkGetObjectMacro( MIPHelper, vtkFixedPointVolumeRayCastMIPHelper ); - vtkGetObjectMacro( CompositeHelper, vtkFixedPointVolumeRayCastCompositeHelper ); - vtkGetObjectMacro( CompositeGOHelper, vtkFixedPointVolumeRayCastCompositeGOHelper ); - vtkGetObjectMacro( CompositeGOShadeHelper, vtkFixedPointVolumeRayCastCompositeGOShadeHelper ); - vtkGetObjectMacro( CompositeShadeHelper, vtkFixedPointVolumeRayCastCompositeShadeHelper ); - vtkGetVectorMacro( TableShift, float, 4 ); - vtkGetVectorMacro( TableScale, float, 4 ); - vtkGetMacro( ShadingRequired, int ); - vtkGetMacro( GradientOpacityRequired, int ); - - vtkGetObjectMacro( CurrentScalars, vtkDataArray ); - vtkGetObjectMacro( PreviousScalars, vtkDataArray ); - - unsigned short *GetMinMaxVolume() {return this->MinMaxVolume;} - int *GetRowBounds() {return this->RowBounds;} - unsigned short *GetColorTable(int c) {return this->ColorTable[c];} - unsigned short *GetScalarOpacityTable(int c) {return this->ScalarOpacityTable[c];} - unsigned short *GetGradientOpacityTable(int c) {return this->GradientOpacityTable[c];} - vtkVolume *GetVolume() {return this->Volume;} - unsigned short **GetGradientNormal() {return this->GradientNormal;} - unsigned char **GetGradientMagnitude() {return this->GradientMagnitude;} - unsigned short *GetDiffuseShadingTable(int c) {return this->DiffuseShadingTable[c];} - unsigned short *GetSpecularShadingTable(int c) {return this->SpecularShadingTable[c];} - - void ComputeRayInfo( int x, int y, - unsigned int pos[3], - unsigned int dir[3], - unsigned int *numSteps ); - - void InitializeRayInfo( vtkVolume *vol ); - - int ShouldUseNearestNeighborInterpolation( vtkVolume *vol ); - - // Description: - // Set / Get the underlying image object. One will be automatically - // created - only need to set it when using from an AMR mapper which - // renders multiple times into the same image. - void SetRayCastImage( vtkFixedPointRayCastImage * ); - vtkGetObjectMacro( RayCastImage, vtkFixedPointRayCastImage ); - - int PerImageInitialization( vtkRenderer *, vtkVolume *, int, - double *, double *, int * ); - void PerVolumeInitialization( vtkRenderer *, vtkVolume * ); - void PerSubVolumeInitialization( vtkRenderer *, vtkVolume *, int ); - void RenderSubVolume(); - void DisplayRenderedImage( vtkRenderer *, vtkVolume * ); - void AbortRender(); - - void CreateCanonicalView( vtkVolume *volume, - vtkImageData *image, - int blend_mode, - double viewDirection[3], - double viewUp[3] ); - - // Description: - // Get an estimate of the rendering time for a given volume / renderer. - // Only valid if this mapper has been used to render that volume for - // that renderer previously. Estimate is good when the viewing parameters - // have not changed much since that last render. - float GetEstimatedRenderTime( vtkRenderer *ren, - vtkVolume *vol ) - { return this->RetrieveRenderTime( ren, vol ); } - float GetEstimatedRenderTime( vtkRenderer *ren ) - { return this->RetrieveRenderTime( ren ); } - - - // Description: - // Set/Get the window / level applied to the final color. - // This allows brightness / contrast adjustments on the - // final image. - // window is the width of the window. - // level is the center of the window. - // Initial window value is 1.0 - // Initial level value is 0.5 - // window cannot be null but can be negative, this way - // values will be reversed. - // |window| can be larger than 1.0 - // level can be any real value. - vtkSetMacro( FinalColorWindow, float ); - vtkGetMacro( FinalColorWindow, float ); - vtkSetMacro( FinalColorLevel, float ); - vtkGetMacro( FinalColorLevel, float ); - - - // Here to be used by the mapper to tell the helper - // to flip the MIP comparison in order to support - // minimum intensity blending - vtkGetMacro( FlipMIPComparison, int ); - -protected: - vtkFixedPointVolumeRayCastMapper(); - ~vtkFixedPointVolumeRayCastMapper(); - - // The helper class that displays the image - vtkRayCastImageDisplayHelper *ImageDisplayHelper; - - // The distance between sample points along the ray - float SampleDistance; - float InteractiveSampleDistance; - - // The distance between rays in the image - float ImageSampleDistance; - float MinimumImageSampleDistance; - float MaximumImageSampleDistance; - int AutoAdjustSampleDistances; - int LockSampleDistanceToInputSpacing; - - // Saved values used to restore - float OldSampleDistance; - float OldImageSampleDistance; - - // Internal method for computing matrices needed during - // ray casting - void ComputeMatrices( double volumeOrigin[3], - double volumeSpacing[3], - int volumeExtent[6], - vtkRenderer *ren, - vtkVolume *vol ); - - int ComputeRowBounds( vtkRenderer *ren, - int imageFlag, int rowBoundsFlag, - int volumeExtent[6]); - - void CaptureZBuffer( vtkRenderer *ren ); - - friend VTK_THREAD_RETURN_TYPE FixedPointVolumeRayCastMapper_CastRays( void *arg ); - friend VTK_THREAD_RETURN_TYPE vtkFPVRCMSwitchOnDataType( void *arg ); - - vtkMultiThreader *Threader; - - vtkMatrix4x4 *PerspectiveMatrix; - vtkMatrix4x4 *ViewToWorldMatrix; - vtkMatrix4x4 *ViewToVoxelsMatrix; - vtkMatrix4x4 *VoxelsToViewMatrix; - vtkMatrix4x4 *WorldToVoxelsMatrix; - vtkMatrix4x4 *VoxelsToWorldMatrix; - - vtkMatrix4x4 *VolumeMatrix; - - vtkTransform *PerspectiveTransform; - vtkTransform *VoxelsTransform; - vtkTransform *VoxelsToViewTransform; - - // This object encapsulated the image and all related information - vtkFixedPointRayCastImage *RayCastImage; - - int *RowBounds; - int *OldRowBounds; - - float *RenderTimeTable; - vtkVolume **RenderVolumeTable; - vtkRenderer **RenderRendererTable; - int RenderTableSize; - int RenderTableEntries; - - void StoreRenderTime( vtkRenderer *ren, vtkVolume *vol, float t ); - float RetrieveRenderTime( vtkRenderer *ren, vtkVolume *vol ); - float RetrieveRenderTime( vtkRenderer *ren ); - - int IntermixIntersectingGeometry; - - float MinimumViewDistance; - - vtkColorTransferFunction *SavedRGBFunction[4]; - vtkPiecewiseFunction *SavedGrayFunction[4]; - vtkPiecewiseFunction *SavedScalarOpacityFunction[4]; - vtkPiecewiseFunction *SavedGradientOpacityFunction[4]; - int SavedColorChannels[4]; - float SavedScalarOpacityDistance[4]; - int SavedBlendMode; - vtkImageData *SavedParametersInput; - vtkTimeStamp SavedParametersMTime; - - vtkImageData *SavedGradientsInput; - vtkTimeStamp SavedGradientsMTime; - - float SavedSampleDistance; - - - unsigned short ColorTable[4][32768*3]; - unsigned short ScalarOpacityTable[4][32768]; - unsigned short GradientOpacityTable[4][256]; - int TableSize[4]; - float TableScale[4]; - float TableShift[4]; - - float GradientMagnitudeScale[4]; - float GradientMagnitudeShift[4]; - - unsigned short **GradientNormal; - unsigned char **GradientMagnitude; - unsigned short *ContiguousGradientNormal; - unsigned char *ContiguousGradientMagnitude; - - int NumberOfGradientSlices; - - vtkDirectionEncoder *DirectionEncoder; - - vtkEncodedGradientShader *GradientShader; - - vtkFiniteDifferenceGradientEstimator *GradientEstimator; - - unsigned short DiffuseShadingTable [4][65536*3]; - unsigned short SpecularShadingTable[4][65536*3]; - - int ShadingRequired; - int GradientOpacityRequired; - - vtkDataArray *CurrentScalars; - vtkDataArray *PreviousScalars; - - vtkRenderWindow *RenderWindow; - vtkVolume *Volume; - - int ClipRayAgainstVolume( float rayStart[3], - float rayEnd[3], - float rayDirection[3], - double bounds[6] ); - - int UpdateColorTable( vtkVolume *vol ); - int UpdateGradients( vtkVolume *vol ); - int UpdateShadingTable( vtkRenderer *ren, - vtkVolume *vol ); - void UpdateCroppingRegions(); - - void ComputeGradients( vtkVolume *vol ); - - int ClipRayAgainstClippingPlanes( float rayStart[3], - float rayEnd[3], - int numClippingPlanes, - float *clippingPlanes ); - - unsigned int FixedPointCroppingRegionPlanes[6]; - unsigned int CroppingRegionMask[27]; - - // Get the ZBuffer value corresponding to location (x,y) where (x,y) - // are indexing into the ImageInUse image. This must be converted to - // the zbuffer image coordinates. Nearest neighbor value is returned. - float GetZBufferValue( int x, int y ); - - vtkFixedPointVolumeRayCastMIPHelper *MIPHelper; - vtkFixedPointVolumeRayCastCompositeHelper *CompositeHelper; - vtkFixedPointVolumeRayCastCompositeGOHelper *CompositeGOHelper; - vtkFixedPointVolumeRayCastCompositeShadeHelper *CompositeShadeHelper; - vtkFixedPointVolumeRayCastCompositeGOShadeHelper *CompositeGOShadeHelper; - - // Some variables used for ray computation - float ViewToVoxelsArray[16]; - float WorldToVoxelsArray[16]; - float VoxelsToWorldArray[16]; - - double CroppingBounds[6]; - - int NumTransformedClippingPlanes; - float *TransformedClippingPlanes; - - double SavedSpacing[3]; - - - // Min Max structured used to do space leaping - unsigned short *MinMaxVolume; - int MinMaxVolumeSize[4]; - vtkImageData *SavedMinMaxInput; - vtkTimeStamp SavedMinMaxBuildTime; - vtkTimeStamp SavedMinMaxGradientTime; - vtkTimeStamp SavedMinMaxFlagTime; - - void UpdateMinMaxVolume( vtkVolume *vol ); - void FillInMaxGradientMagnitudes( int fullDim[3], - int smallDim[3] ); - - float FinalColorWindow; - float FinalColorLevel; - - int FlipMIPComparison; - - void ApplyFinalColorWindowLevel(); - - -private: - vtkFixedPointVolumeRayCastMapper(const vtkFixedPointVolumeRayCastMapper&); // Not implemented. - void operator=(const vtkFixedPointVolumeRayCastMapper&); // Not implemented. -}; - - -inline unsigned int vtkFixedPointVolumeRayCastMapper::ToFixedPointPosition( float val ) -{ - return static_cast(val * VTKKW_FP_SCALE + 0.5); -} - -inline void vtkFixedPointVolumeRayCastMapper::ToFixedPointPosition( float in[3], unsigned int out[3] ) -{ - out[0] = static_cast(in[0] * VTKKW_FP_SCALE + 0.5); - out[1] = static_cast(in[1] * VTKKW_FP_SCALE + 0.5); - out[2] = static_cast(in[2] * VTKKW_FP_SCALE + 0.5); -} - -inline unsigned int vtkFixedPointVolumeRayCastMapper::ToFixedPointDirection( float dir ) -{ - return ((dir<0.0)? - (static_cast(-dir * VTKKW_FP_SCALE + 0.5)): - (0x80000000+static_cast(dir*VTKKW_FP_SCALE + 0.5))); -} - -inline void vtkFixedPointVolumeRayCastMapper::ToFixedPointDirection( float in[3], unsigned int out[3] ) -{ - out[0] = ((in[0]<0.0)? - (static_cast(-in[0] * VTKKW_FP_SCALE + 0.5)): - (0x80000000+ - static_cast(in[0]*VTKKW_FP_SCALE + 0.5))); - out[1] = ((in[1]<0.0)? - (static_cast(-in[1] * VTKKW_FP_SCALE + 0.5)): - (0x80000000+ - static_cast(in[1]*VTKKW_FP_SCALE + 0.5))); - out[2] = ((in[2]<0.0)? - (static_cast(-in[2] * VTKKW_FP_SCALE + 0.5)): - (0x80000000+ - static_cast(in[2]*VTKKW_FP_SCALE + 0.5))); -} - -inline void vtkFixedPointVolumeRayCastMapper::FixedPointIncrement( unsigned int position[3], unsigned int increment[3] ) -{ - if ( increment[0]&0x80000000 ) - { - position[0] += (increment[0]&0x7fffffff); - } - else - { - position[0] -= increment[0]; - } - if ( increment[1]&0x80000000 ) - { - position[1] += (increment[1]&0x7fffffff); - } - else - { - position[1] -= increment[1]; - } - if ( increment[2]&0x80000000 ) - { - position[2] += (increment[2]&0x7fffffff); - } - else - { - position[2] -= increment[2]; - } -} - - -inline void vtkFixedPointVolumeRayCastMapper::GetFloatTripleFromPointer( float v[3], float *ptr ) -{ - v[0] = *(ptr); - v[1] = *(ptr+1); - v[2] = *(ptr+2); -} - -inline void vtkFixedPointVolumeRayCastMapper::GetUIntTripleFromPointer( unsigned int v[3], unsigned int *ptr ) -{ - v[0] = *(ptr); - v[1] = *(ptr+1); - v[2] = *(ptr+2); -} - -inline void vtkFixedPointVolumeRayCastMapper::ShiftVectorDown( unsigned int in[3], - unsigned int out[3] ) -{ - out[0] = in[0] >> VTKKW_FP_SHIFT; - out[1] = in[1] >> VTKKW_FP_SHIFT; - out[2] = in[2] >> VTKKW_FP_SHIFT; -} - -inline int vtkFixedPointVolumeRayCastMapper::CheckMinMaxVolumeFlag( unsigned int mmpos[3], int c ) -{ - unsigned int offset = - this->MinMaxVolumeSize[3] * - ( mmpos[2]*this->MinMaxVolumeSize[0]*this->MinMaxVolumeSize[1] + - mmpos[1]*this->MinMaxVolumeSize[0] + - mmpos[0] ) + c; - - return ((*(this->MinMaxVolume + 3*offset + 2))&0x00ff); -} - -inline int vtkFixedPointVolumeRayCastMapper::CheckMIPMinMaxVolumeFlag( unsigned int mmpos[3], int c, - unsigned short maxIdx, int flip ) -{ - unsigned int offset = - this->MinMaxVolumeSize[3] * - ( mmpos[2]*this->MinMaxVolumeSize[0]*this->MinMaxVolumeSize[1] + - mmpos[1]*this->MinMaxVolumeSize[0] + - mmpos[0] ) + c; - - if ( (*(this->MinMaxVolume + 3*offset + 2)&0x00ff) ) - { - if (flip) - { - return ( *(this->MinMaxVolume + 3*offset) < maxIdx ); - } - else - { - return ( *(this->MinMaxVolume + 3*offset + 1) > maxIdx ); - } - } - else - { - return 0; - } -} - -inline void vtkFixedPointVolumeRayCastMapper::LookupColorUC( unsigned short *colorTable, - unsigned short *scalarOpacityTable, - unsigned short index, - unsigned char color[4] ) -{ - unsigned short alpha = scalarOpacityTable[index]; - color[0] = static_cast - ((colorTable[3*index ]*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - color[1] = static_cast - ((colorTable[3*index+1]*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - color[2] = static_cast - ((colorTable[3*index+2]*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - color[3] = static_cast(alpha>>(VTKKW_FP_SHIFT - 8)); -} - -inline void vtkFixedPointVolumeRayCastMapper::LookupDependentColorUC( unsigned short *colorTable, - unsigned short *scalarOpacityTable, - unsigned short index[4], - int components, - unsigned char color[4] ) -{ - unsigned short alpha; - switch ( components ) - { - case 2: - alpha = scalarOpacityTable[index[1]]; - color[0] = static_cast - ((colorTable[3*index[0] ]*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - color[1] = static_cast - ((colorTable[3*index[0]+1]*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - color[2] = static_cast - ((colorTable[3*index[0]+2]*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - color[3] = static_cast(alpha>>(VTKKW_FP_SHIFT - 8)); - break; - case 4: - alpha = scalarOpacityTable[index[3]]; - color[0] = static_cast((index[0]*alpha + 0x7fff)>>VTKKW_FP_SHIFT ); - color[1] = static_cast((index[1]*alpha + 0x7fff)>>VTKKW_FP_SHIFT ); - color[2] = static_cast((index[2]*alpha + 0x7fff)>>VTKKW_FP_SHIFT ); - color[3] = static_cast(alpha>>(VTKKW_FP_SHIFT - 8)); - break; - } -} - - -inline void vtkFixedPointVolumeRayCastMapper::LookupAndCombineIndependentColorsUC( unsigned short *colorTable[4], - unsigned short *scalarOpacityTable[4], - unsigned short index[4], - float weights[4], - int components, - unsigned char color[4] ) -{ - unsigned int tmp[4] = {0,0,0,0}; - - for ( int i = 0; i < components; i++ ) - { - unsigned short alpha = static_cast(scalarOpacityTable[i][index[i]]*weights[i]); - tmp[0] += static_cast(((colorTable[i][3*index[i] ])*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - tmp[1] += static_cast(((colorTable[i][3*index[i]+1])*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - tmp[2] += static_cast(((colorTable[i][3*index[i]+2])*alpha + 0x7fff)>>(2*VTKKW_FP_SHIFT - 8)); - tmp[3] += static_cast(alpha>>(VTKKW_FP_SHIFT - 8)); - } - - color[0] = (tmp[0]>255)?(255):(tmp[0]); - color[1] = (tmp[1]>255)?(255):(tmp[1]); - color[2] = (tmp[2]>255)?(255):(tmp[2]); - color[3] = (tmp[3]>255)?(255):(tmp[3]); - -} - -inline int vtkFixedPointVolumeRayCastMapper::CheckIfCropped( unsigned int pos[3] ) -{ - int idx; - - if ( pos[2] < this->FixedPointCroppingRegionPlanes[4] ) - { - idx = 0; - } - else if ( pos[2] > this->FixedPointCroppingRegionPlanes[5] ) - { - idx = 18; - } - else - { - idx = 9; - } - - if ( pos[1] >= this->FixedPointCroppingRegionPlanes[2] ) - { - if ( pos[1] > this->FixedPointCroppingRegionPlanes[3] ) - { - idx += 6; - } - else - { - idx += 3; - } - } - - if ( pos[0] >= this->FixedPointCroppingRegionPlanes[0] ) - { - if ( pos[0] > this->FixedPointCroppingRegionPlanes[1] ) - { - idx += 2; - } - else - { - idx += 1; - } - } - - return !(this->CroppingRegionFlags&this->CroppingRegionMask[idx]); -} - -#endif diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/vtkPowerCrustSurfaceReconstruction.h b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/vtkPowerCrustSurfaceReconstruction.h deleted file mode 100644 index afabb5c..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Headers/vtkPowerCrustSurfaceReconstruction.h +++ /dev/null @@ -1,110 +0,0 @@ -/*========================================================================= - - Program: Visualization Toolkit - Module: $RCSfile: vtkPowerCrustSurfaceReconstruction.h,v $ - Language: C++ - Date: $Date: 2002/07/11 10:36:50 $ - Version: $Revision: 1.1 $ - - Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen - All rights reserved. - See Copyright.txt or http://www.kitware.com/Copyright.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 notice for more information. - -=========================================================================*/ -// .NAME vtkPowerCrustSurfaceReconstruction.cxx - reconstructs surfaces from unorganized point data -// .SECTION Description -// vtkPowerCrustSurfaceReconstruction.cxx reconstructs a surface from unorganized points -// scattered across its surface. The original algorithm is the Power Crust, for full details and -// for the original code, see: -// -// http://www.cs.utexas.edu/users/amenta/powercrust/welcome.html -// -// IMPORTANT: The PowerCrust code was released under the GNU public licence (GPL) - this forbids -// its use for developing commercial products! As a modified version, this port therefore has the -// same restrictions. For more details see the copyrights in the source file, and: -// -// http://www.gnu.org/copyleft/gpl.html -// -// -- The restriction applies only to this class. -- -// -// The medial surface can be accessed using GetMedialSurface() - remember to call Update() on the -// filter before accessing this, it is not part of the normal VTK pipeline. -// -// This filter is a big improvement on vtkSurfaceReconstructionFilter in almost all cases but it is -// not as fast. -// -// .SECTION Thanks -// This VTK port was created by: Tim Hutton, Bruce Lamond, Dieter Pfeffer, Oliver Moss. -// -// .SECTION Caveats -// The algorithm may fail to give a correct reconstruction on surfaces that are not densely -// sampled. In practice it does very well. -// -// The exact arithmetic routines are thought to have problems on some platforms, please report any -// problems you encounter. -// -// The orientation of the polygons is not consistent! This can be corrected by -// vtkPolyDataNormals (ConsistencyOn) but you should be aware of it. -// -// The surface has not been simplified using the routines provided with the distribution, this will -// hopefully come soon. -// -// .SECTION See Also -// vtkSurfaceReconstructionFilter - -#ifndef __vtkPowerCrustSurfaceReconstruction_h -#define __vtkPowerCrustSurfaceReconstruction_h - -#include "vtkDataSetToPolyDataFilter.h" -#include "vtkPolyData.h" -#include "vtkCellArray.h" -#include "vtkPointData.h" - -class VTK_GRAPHICS_EXPORT vtkPowerCrustSurfaceReconstruction : public vtkDataSetToPolyDataFilter -{ -public: - static vtkPowerCrustSurfaceReconstruction *New(); - vtkTypeRevisionMacro(vtkPowerCrustSurfaceReconstruction,vtkDataSetToPolyDataFilter); - void PrintSelf(ostream& os, vtkIndent indent); - - // Description: - // Returns the medial surface of the reconstructed surface. - vtkPolyData* GetMedialSurface() { return this->medial_surface; } - - // Description: - // This error function allows our ported code to report error messages neatly. - // This is not for external use. - void Error(const char *message); - - - double GetEstimate_r (){return m_estimate_r;} //EPRO added - void SetEstimate_r(double val) {m_estimate_r = val;} //EPRO added - -protected: - vtkPowerCrustSurfaceReconstruction(); - ~vtkPowerCrustSurfaceReconstruction(); - - // Description: - // the main function that does the work - void Execute(); - - void ComputeInputUpdateExtents(vtkDataObject *output); - void ExecuteInformation(); - - vtkPolyData *medial_surface; - // EPRO added - double m_estimate_r; - - -private: - vtkPowerCrustSurfaceReconstruction(const vtkPowerCrustSurfaceReconstruction&); // Not implemented. - void operator=(const vtkPowerCrustSurfaceReconstruction&); // Not implemented. -}; - -#endif - - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/OsiriX Headers b/CardiacStatistics/OsiriX Headers.framework/Versions/A/OsiriX Headers deleted file mode 100755 index b208910..0000000 Binary files a/CardiacStatistics/OsiriX Headers.framework/Versions/A/OsiriX Headers and /dev/null differ diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Resources/Info.plist b/CardiacStatistics/OsiriX Headers.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index d4b7d74..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - OsiriX Headers - CFBundleIdentifier - com.osirix.OsiriX_Headers - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - FMWK - CFBundleSignature - ???? - CFBundleVersion - 1.0 - - diff --git a/CardiacStatistics/OsiriX Headers.framework/Versions/Current b/CardiacStatistics/OsiriX Headers.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/CardiacStatistics/OsiriX Headers.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Clustering/OsiriX Headers/DCMPix.h b/Clustering/OsiriX Headers/DCMPix.h deleted file mode 100644 index ed096d8..0000000 --- a/Clustering/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,446 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; - BOOL isBonjour; - BOOL nonDICOM; - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; - xNSImage *image; - short *oImage; - float *fImage, *fVolImage; - char *wImage; - -//DICOM TAGS - -// orientation - double originX, originY, originZ; - double orientation[ 9]; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSPoint independentOffset; - float independentRotation, independentZoom; -} - -+ (void) checkUserDefaults: (BOOL) update; -+ (void) resetUserDefaults; -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -// Is it an RGB image (ARGB) or float image? -- (BOOL) isRGB; - -// Pointer to image data -- (float*) fImage; - -// Dimensions in pixels -- (long) setPwidth:(long) w; -- (long) pwidth; - -- (long) setPheight:(long) h; -- (long) pheight; - -// WL & WW -- (float) ww; -- (float) wl; --(float) fullww; --(float) fullwl; -- (float) savedWL; -- (float) savedWW; -- (float) setSavedWL:(float) l; -- (float) setSavedWW:(float) w; -- (void) changeWLWW:(float)newWL :(float)newWW; --(void) computePixMinPixMax; -- (float) maxValueOfSeries; -- (void) setMaxValueOfSeries: (float) f; -- (float) minValueOfSeries; -- (void) setMinValueOfSeries: (float) f; --(NSPoint) independentOffset; --(void) setIndependentOffset:(NSPoint) z; --(float) independentRotation; --(void) setIndependentRotation:(float) z; --(float) independentZoom; --(void) setIndependentZoom:(float) z; -// Compute ROI data -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -// Fill a ROI with a value! -- (void) fillROI:(ROI*) roi newVal :(float) newVal minValue :(float) minValue maxValue :(float) maxValue outside :(BOOL) outside orientationStack :(long) orientationStack stackNo :(long) stackNo restore :(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi; - -// Is this Point (pt) in this ROI ? -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -// Return a pointer with all pixels values contained in the current ROI -// Free the pointer with the free() function -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - -// X/Y ratio - non-square pixels --(void) setPixelRatio:(float)r; --(double) pixelRatio; - -// pixel size --(double) pixelSpacingX; --(double) pixelSpacingY; --(void) setPixelSpacingX :(double) s; --(void) setPixelSpacingY :(double) s; - -// Slice orientation --(void) orientation:(float*) c; --(void) setOrientation:(float*) c; - --(void) orientationDouble:(double*) c; --(void) setOrientationDouble:(double*) c; - -// Slice location --(double) originX; --(double) originY; --(double) originZ; --(void) setOrigin :(float*) o; --(void) setOriginDouble :(double*) o; - -// Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -// using current slice location and orientation and vice versa --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; // Return index & sliceCoords - -// Thickness/Axial Location --(double) sliceLocation; --(void) setSliceLocation:(float) l; --(double) sliceThickness; --(void) setSliceThickness:(float) l; --(double) sliceInterval; --(void) setSliceInterval :(float) s; --(double) spacingBetweenSlices; - -// ID / FrameNo --(long) ID; -- (void) setID :(long) i; -- (long) frameNo; -- (void) setFrameNo:(long) f; -- (BOOL) thickSlabVRActivated; -- (void) ConvertToBW:(long) mode; -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; -- (float) cineRate; - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subPixOffset; -- (void) setSubPixOffset:(NSPoint) subOffset; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(long) DCMPixShutterRectWidth; --(long) DCMPixShutterRectHeight; --(long) DCMPixShutterRectOriginX; --(long) DCMPixShutterRectOriginY; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (NSString*) repetitiontime; -- (NSString*) echotime; -- (NSString*) flipAngle; -- (NSString*) laterality; -- (void) setRepetitiontime:(NSString*)rep; -- (void) setEchotime:(NSString*)echo; -- (NSString*) protocolName; -- (NSString*) viewPosition; -- (NSString*) patientPosition; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; -/* s == File Path - pos == Image ID (Number) - tot == number of IMages? - ptr == ptr to volume - f == frame number - ss == series number - hello == Bonjour - imageObj (iO) == image core data object - -- (id) initWithContentsOfFile:(NSString*) s - imageID:(long) pos - numberOfImages:(long) tot - volume:(float*) ptr - frameNumber:(long) f - seriesNumber:(long) ss - isBonjour:(BOOL) hello - imageObj: (NSManagedObject*) iO; -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; -- (NSImage*) image; -- (NSImage*) getImage; -- (char*) baseAddr; -- (void) setBaseAddr :( char*) ptr; -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (short*) oImage; -- (void) kill8bitsImage; -- (void) checkImageAvailble:(float)newWW :(float)newWL; --(long) rowBytes; --(void) setRowBytes:(long) rb; -- (BOOL)loadDICOMDCMFramework; -- (BOOL) loadDICOMPapyrus; -- (void) CheckLoadIn; -- (void) CheckLoad; -- (float*) computefImage; --(float) slope; --(float) offset; --(long) serieNo; --(long) Tot; --(void) setTot: (long) tot; --(void) setFusion:(short) m :(short) s :(short) direction; --(short) stack; --(short) stackMode; -- (long) rowBytes; -- (void) setRowBytes:(long) rb; -- (float) fullww; -- (float) fullwl; -- (void)setSourceFile:(NSString*)s; --(NSString*) sourceFile; --(void) setUpdateToApply; --(void) revert; -- (NSString*) sourceFile; -- (void) setUpdateToApply; -- (void) revert; -- (void) computePixMinPixMax; -- (void) setfImage:(float*) ptr; -- (void) setThickSlabController:( ThickSlabController*) ts; -- (void) setFixed8bitsWLWW:(BOOL) f; -- (BOOL) generated; -- (void) prepareRestore; -- (void) freeRestore; -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -//Database links -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; - -// Accessor methods needed for SUV calculations -- (float) philipsFactor; -- (float) patientsWeight; -- (void) setPatientsWeight : (float) v; -- (float) halflife; -- (void) setHalflife : (float) v; -- (float) radionuclideTotalDose; -- (void) setRadionuclideTotalDose : (float) v; -- (float) radionuclideTotalDoseCorrected; -- (void) setRadionuclideTotalDoseCorrected : (float) v; -- (NSCalendarDate*) acquisitionTime; -- (void) setAcquisitionTime : (NSCalendarDate*) d; -- (NSCalendarDate*) radiopharmaceuticalStartTime; -- (void) setRadiopharmaceuticalStartTime : (NSCalendarDate*) d; -- (void) setSUVConverted : (BOOL) v; -- (BOOL) SUVConverted; -- (float) decayFactor; -- (float) setDecayFactor: (float) f; -- (NSString*) units; -- (NSString*) decayCorrection; -- (void) setDecayCorrection : (NSString*) s; -- (void) checkSUV; -- (BOOL) hasSUV; -- (BOOL) displaySUVValue; -- (void) setDisplaySUVValue : (BOOL) v; -- (void) copySUVfrom: (DCMPix*) from; -- (NSString *)setUnits: (NSString *) s; -- (float) getPixelValueX: (long) x Y:(long) y; - -- (NSString *)srcFile; - -@end diff --git a/Clustering/OsiriX Headers/DCMView.h b/Clustering/OsiriX Headers/DCMView.h deleted file mode 100644 index 2f4735f..0000000 --- a/Clustering/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,447 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -@interface DCMView: NSOpenGLView -{ - int _imageRows; - int _imageColumns; - int _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - float sliceVector[ 3], slicePoint[ 3], slicePointO[ 3], slicePointI[ 3]; - float sliceVector2[ 3], slicePoint2[ 3], slicePointO2[ 3], slicePointI2[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - NSTimer *mouseModifiers; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight; - - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSString *shortDateString, *shortDateTimeString; - NSDictionary *localeDictionnary; - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - NSSize scaleStart, scaleInit; - - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; // number of horizontal textures - long textureY, blendingTextureY; // number of vertical textures - GLuint * pTextureName; // array for texture names (# = textureX * textureY) - GLuint * blendingTextureName; // array for texture names (# = textureX * textureY) - long textureWidth; // total width of texels with cover image (including any border on image, but not internal texture overlaps) - long textureHeight; // total height of texels with cover image (including any border on image, but not internal texture overlaps) - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - BOOL cursorSet; - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged; - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - NSDictionary *_hotKeyDictionary; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible; - - char *resampledBaseAddr; - char *resampledTempAddr; - - int resampledBaseAddrSize; -} -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (NSMutableArray*) rectArray; --(BOOL) flippedData; -- (void) gClickCountSetReset; --(void) setFlippedData:(BOOL) f; - -(NSMutableArray*) dcmPixList; - -(NSMutableArray*) dcmRoiList; - -(NSArray*) dcmFilesList; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) syncSeriesIndex; -- (void) setSyncSeriesIndex:(long) i; -- (float) syncRelativeDiff; -- (void) setSyncRelativeDiff: (float) v; -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; -- (void) setCrossPrev:(NSPoint) c; --(NSPoint) cross; --(NSPoint) crossPrev; --(void) setSlab:(float) s; --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; --(void) setBlendingMode:(long) f; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT; -- (BOOL)xFlipped; -- (void)setXFlipped: (BOOL)v; -- (BOOL)yFlipped; -- (void)setYFlipped:(BOOL) v; -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) setStringID:(NSString*) str; -- (NSString*) stringID; -- (float) angle; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (void) setCurrentTool:(short)i; -- (short) currentTool; -- (short) currentToolRight; -- (void) setRightTool:(short) i; -- (void) dealloc; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setTheMatrix:(NSMatrix*)m; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (short) curImage; -- (BOOL) suppressLabels; -- (void) sendSyncMessage:(short) inc; -- (void) setQuartzExtreme:(BOOL) set; -- (void) loadTextures; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (float) scaleValue; -- (void) setScaleValue:(float) x; -- (float) rotation; -- (void) setRotation:(float) x; -- (NSPoint) rotatePoint:(NSPoint) a; -- (NSPoint) origin; -- (NSPoint) originOffset; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginOffset:(NSPoint) x; -- (void) setBlending:(DCMView*) bV; -- (double) pixelSpacing; -- (double) pixelSpacingX; -- (double) pixelSpacingY; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (DCMPix*)curDCM; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) doSyncronize:(NSNotification*)note; -- (BOOL) volumicSeries; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (float)mouseXPos; -- (float)mouseYPos; -- (float) contextualMenuInWindowPosX; -- (float) contextualMenuInWindowPosY; -- (BOOL)checkHasChanged; -- (BOOL)_checkHasChanged:(BOOL)flag; -- (GLuint)fontListGL; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) setSyncro:(long) s; -- (long) syncro; -- (NSFont*)fontGL; -- (void) setScaleValueCentered:(float) x; -//notifications -- (void) updateCurrentImage: (NSNotification*) note; -- (void)updateImageTiling:(NSNotification *)note; -- (void)setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void)setTag:( long)aTag; -- (long)tag; -- (float)curWW; -- (float)curWL; -- (float)scaleValue; -- (NSPoint)origin; -- (int)rows; -- (int)columns; -- (DCMView *)blendingView; -- (float)blendingFactor; -- (float)blendingMode; -- (NSCursor *)cursor; -- (void) becomeMainWindow; -- (BOOL)eraserFlag; -- (void)setEraserFlag: (BOOL)aFlag; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void)updatePresentationStateFromSeries; -- (IBAction)resetSeriesPresentationState:(id)sender; -- (IBAction)resetImagePresentationState:(id)sender; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) setDrawing:(BOOL) v; - -// methodes to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -@end diff --git a/Clustering/OsiriX Headers/MyPoint.h b/Clustering/OsiriX Headers/MyPoint.h deleted file mode 100644 index e80998d..0000000 --- a/Clustering/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/Clustering/OsiriX Headers/PluginFilter.h b/Clustering/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 430ba29..0000000 --- a/Clustering/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,72 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -// This function is called to apply your plugin -- (long) filterImage: (NSString*) menuName; - -// This function is the entry point of Pre-Process plugins -- (long) processFiles: (NSArray*) files; - -// This function is the entry point of Report plugins -- (id) report: (NSManagedObject*) study action:(NSString*) action; - -// action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -// action = @"deleteReport" -> return 0L, delete the report -// action = @"openReport" -> return 0L, open and display the report, create a new one if no report available - -// This function is called at the OsiriX startup, if you need to do some memory allocation, etc. -- (void) initPlugin; - -// Opportunity for plugins to make Menu changes if necessary - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -// Return the complete lists of opened studies in OsiriX -// NSArray contains an array of ViewerController objects -- (NSArray*) viewerControllersList; - -// Create a new 2D window, containing a copy of the current series -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. - -- (id)reportDateForStudy: (NSManagedObject*)study; -- (void)deleteReportForStudy: (NSManagedObject*)study; -- (void)createReportForStudy: (NSManagedObject*)study; - -// PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY - -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/Clustering/OsiriX Headers/ROI.h b/Clustering/OsiriX Headers/ROI.h deleted file mode 100644 index 685a838..0000000 --- a/Clustering/OsiriX Headers/ROI.h +++ /dev/null @@ -1,291 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" -#include - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -@interface ROI : NSObject -{ - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - GLuint textureName, textureName2; - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - NSString *_roiSeriesInstanceUID; - NSString *_sopInstanceUID; - NSString *_referencedSOPInstanceUID; - NSString *_referencedSOPClassUID; - int _frameNumber; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - float _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL needsLoadTexture, needsLoadTexture2; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; -- (BOOL) clickInTextBox; - -- (int)textureDownRightCornerX; -- (int)textureDownRightCornerY; -- (int)textureUpLeftCornerX; -- (int)textureUpLeftCornerY; - -- (int)textureWidth; -- (int)textureHeight; -- (unsigned char*) textureBuffer; -- (void)displayTexture; -- (float) opacity; -- (void) setOpacity:(float)newOpacity; -- (NSString*) name; -- (void) setName:(NSString*) a; - -// Return/Set the comments of the ROI -- (NSString*) comments; -- (void) setComments:(NSString*) a; - -// Return the type of the ROI -- (long) type; - -// Return the current state of the ROI -- (long) ROImode; - -// Return/set the points state of the ROI -- (NSMutableArray*) points; -- (void) setPoints:(NSArray*) points; -- (NSMutableArray*) zPositions; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -// To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -- (void) setROIRect:(NSRect) rect; -- (NSRect) rect; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -// Return the DCMPix associated to this ROI -- (DCMPix*) pix; - -// Return the DCMView associated to this ROI -- (DCMView*) curView; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) setMousePosMeasure:(float) p; -- (NSData*) data; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (void) setROIMode :(long) v; -- (BOOL) deleteSelectedPoint; -- (RGBColor) rgbcolor; -- (void) setColor:(RGBColor) a; -- (float) thickness; -- (void) setThickness:(float) a; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (void) setPix: (DCMPix*) newPix; -- (DCMPix*) pix; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -// parent ROI -- (ROI*) parentROI; -- (void) setParentROI: (ROI*) aROI; - - -//DICOM info -- (NSString *) roiSeriesInstanceUID; -- (NSString *) sopInstanceUID; -- (NSString *) referencedSOPInstanceUID; -- (NSString *) referencedSOPClassUID; -- (int) frameNumber; - -- (void) setRoiSeriesInstanceUID:(NSString *)uid; -- (void) setSopInstanceUID:(NSString *)uid; -- (void) setReferencedSOPInstanceUID:(NSString *)uid; -- (void) setReferencedSOPClassUID:(NSString *)uid; -- (void) setFrameNumber:(int)frame; - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; -- (void)setDisplayCalciumScoring:(BOOL)value; -- (void)setCalciumThreshold:(int)threshold; - -- (float) sliceThickness; -- (void) setSliceThickness:(float)sliceThickness; - -- (void)setLayerReferenceFilePath:(NSString*)path; -- (NSString*)layerReferenceFilePath; -- (void)setLayerImage:(NSImage*)image; -//- (void)setLayerImageWhenSelected:(NSImage*)image; -- (void)loadLayerImageTexture; -//- (void)loadLayerImageWhenSelectedTexture; -- (void)generateEncodedLayerImage; -- (void)setLayerPixelSpacingX:(float)x; -- (void)setLayerPixelSpacingY:(float)y; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -- (void)setTextualBoxLine1:(NSString*)line; -- (void)setTextualBoxLine2:(NSString*)line; -- (void)setTextualBoxLine3:(NSString*)line; -- (void)setTextualBoxLine4:(NSString*)line; -- (void)setTextualBoxLine5:(NSString*)line; - -- (NSTimeInterval)groupID; -- (void)setGroupID:(NSTimeInterval)timestamp; - -- (NSPoint) lowerRightPoint; - -- (void)setIsLayerOpacityConstant:(BOOL)boo; -- (void)setCanColorizeLayer:(BOOL)boo; - -- (BOOL)setDisplayTextualData:(BOOL)boo; - -- (NSPoint)clickPoint; - -@end diff --git a/Clustering/OsiriX Headers/ViewerController.h b/Clustering/OsiriX Headers/ViewerController.h deleted file mode 100644 index 545465c..0000000 --- a/Clustering/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,708 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSButton *blendingTypeRed, *blendingTypeGreen, *blendingTypeBlue; - IBOutlet NSPopUpButton *blendingPlugins; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies; - - float resampleRatio; - - NSRect savedWindowsFrame; -} - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -//JF20070103 -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBOutlet)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void)createDCMViewMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; - -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - - -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/Clustering/OsiriX Headers/browserController.h b/Clustering/OsiriX Headers/browserController.h deleted file mode 100644 index cafeaad..0000000 --- a/Clustering/OsiriX Headers/browserController.h +++ /dev/null @@ -1,385 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class LogWindowController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; -@class StructuredReportController; - - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; - -@interface BrowserController : NSWindowController//NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *sendQueue; - NSMutableDictionary *bonjourReportFilesToCheck; - - NSMutableArray *previewPix, *previewPixThumbnails; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - QueryController * queryController; - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - LogWindowController *logWindowController; - - NSNumberFormatter *numFmt; - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer, *bonjourTimer, *bonjourRunLoopTimer, *deleteQueueTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long previousBonjourIndex; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - - BOOL setDCMDone, mountedVolume, needDBRefresh; - - NSMutableArray *albumNoOfStudiesCache; - - volatile BOOL shouldDie, threadRunning, threadWillRunning, bonjourDownloading; - - NSArray *outlineViewArray, *originalOutlineViewArray; - NSArray *matrixViewArray; - NSArray *allColumns; - - NSString *_searchString; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - IBOutlet NSMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - IBOutlet PreviewView *imageView; - - IBOutlet NSWindow *subSeriesWindow; - IBOutlet NSButton *subSeriesInterval, *subSeriesOKButton; - IBOutlet NSTextField *subSeriesFrom, *subSeriesTo, *subSeriesIntervalText, *memoryMessage; - IBOutlet NSSlider *subSeriesSlider; - IBOutlet NSBox *enoughMem, *notEnoughMem; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *rebuildWindow; - IBOutlet NSMatrix *rebuildType; - IBOutlet NSTextField *estimatedTime, *noOfFilesToRebuild, *warning; - - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - -// IBOutlet NSTableView *sendLogTable; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - -// IBOutlet NSMatrix *keyImageMatrix; - IBOutlet NSView *exportAccessoryView; - IBOutlet NSButton *addDICOMDIRButton; - - NSLock *checkIncomingLock; - NSTimeInterval lastSaved; - - BOOL showAllImages, DatabaseIsEdited, isNetworkLogsActive; - NSConditionLock *queueLock; - - IBOutlet NSScrollView *thumbnailsScrollView; - - NSPredicate *_fetchPredicate; - NSPredicate *_filterPredicate; - NSString *_filterPredicateDescription; - - NSString *fixedDocumentsDirectory; - - char cfixedDocumentsDirectory[ 1024]; - - NSTimeInterval databaseLastModification; - - StructuredReportController *structuredReportController; - - NSMutableArray *deleteQueueArray; - NSLock *deleteQueue, *deleteInProgress; - - IBOutlet NSProgressIndicator *incomingProgress; -} - -+ (BrowserController*) currentBrowser; - -- (void) emptyDeleteQueueThread; -- (void) emptyDeleteQueue:(id) sender; -- (void) addFileToDeleteQueue:(NSString*) file; -- (NSString*) getNewFileDatabasePath: (NSString*) extension; -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item anyObjectIfPossible: (BOOL) any; -- (NSManagedObjectContext *) managedObjectContextLoadIfNecessary:(BOOL) loadIfNecessary; -- (void) setNetworkLogs; -- (BOOL) isNetworkLogsActive; -- (NSTimeInterval) databaseLastModification; -- (IBAction) matrixDoublePressed:(id)sender; -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; -- (IBAction) sendiDisk:(id) sender; -- (IBAction) sendiPod:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; -- (long) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(void) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (void) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; --(void) exportQuicktimeInt:(NSArray*) dicomFiles2Export :(NSString*) path :(BOOL) html; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; - -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; - -- (void) setupToolbar; - -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; - -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void)newViewerDICOM:(id) sender; -- (void) viewerDICOMKeyImages:(id) sender; -- (void) viewerDICOMMergeSelection:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (IBAction)setImageTiling: (id)sender; - -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; - -- (IBAction) openDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; - -- (IBAction) endReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabaseSheet: (id)sender; -- (long) COLUMN; -- (BOOL) is2DViewer; -- (void) previewSliderAction:(id) sender; -- (void) addHelpMenu; - -- (BOOL) isItCD:(NSArray*) pathFilesComponent; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects; - -- (void) resetListenerTimer; -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (NSArray*) addFilesAndFolderToDatabase:(NSArray*) filenames; --(NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -- (void)runSendQueue:(id)object; -- (void)addToQueue:(NSArray *)array; -- (MyOutlineView*) databaseOutline; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; - -//- (void)reloadSendLog:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; -- (void) refreshSmartAlbums; - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - -- (void) refreshDatabase:(id) sender; - -- (void) removeAllMounted; -- (NSTableView*) albumTable; - -//bonjour -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (BOOL) isCurrentDatabaseBonjour; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) setBonjourSharingEnabled:(BOOL) boo; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) currentDatabasePath; -- (void) setBonjourDownloading:(BOOL) v; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) localDatabasePath; -- (NSString*) askPassword; -- (NSString*) bonjourPassword; -- (long) currentBonjourService; -- (void) resetToLocalDatabase; -- (void) createContextualMenu; -- (NSBox*) bonjourSourcesBox; -- (NSTextField*) bonjourServiceName; -- (NSTextField*) bonjourPasswordTextField; -- (NSButton*) bonjourSharingCheck; -- (NSButton*) bonjourPasswordCheck; -- (void) bonjourRunLoop:(id) sender; -- (void) checkIncomingThread:(id) sender; -- (NSArray*) openSubSeries: (NSArray*) toOpenArray; -- (IBAction) checkMemory:(id) sender; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectory; -- (NSString *) fixedDocumentsDirectory; -- (char *) cfixedDocumentsDirectory; -- (NSString *) setFixedDocumentsDirectory; -- (IBAction)showLogWindow: (id)sender ; - -- (NSString *)folderPathResolvingAliasAndSymLink:(NSString *)path; - -- (NSString *)searchString; -- (void)setSearchString:(NSString *)searchString; -- (NSPredicate*)fetchPredicate; -- (void)setFetchPredicate:(NSPredicate *)predicate; -- (NSPredicate*)filterPredicate; -- (NSString*) filterPredicateDescription; -- (void)setFilterPredicate:(NSPredicate *)predicate description:(NSString*) desc; -- (NSPredicate *)createFilterPredicate; -- (NSString *)createFilterDescription; - -- (IBAction) generateReport: (id) sender; -- (IBAction) deleteReport: (id) sender; -- (IBAction)srReports: (id)sender; - - - -- (NSArray *)databaseSelection; -- (IBAction)databaseWindow:(id)sender; - -/******Notifactions posted by browserController*********** - -@"NewStudySelectedNotification" with userinfo key @"Selected Study" posted when a newStudy is selected in the browser -@"Close All Viewers" posted when close open windows if option key pressed. -@"DCMImageTilingHasChanged" when image tiling has changed -OsirixAddToDBNotification posted when files are added to the DB - -*/ - - -@end diff --git a/Clustering/OsiriX Headers/dicomFile.h b/Clustering/OsiriX Headers/dicomFile.h deleted file mode 100644 index eacd3fe..0000000 --- a/Clustering/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - - - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; - -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; -+ (BOOL) isFVTiffFile:(NSString *) file; -+ (BOOL) isNIfTIFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; -+ (BOOL) isXMLDescriptedFile:(NSString *) file; -+ (BOOL) isXMLDescriptorFile:(NSString *) file; -+ (void) setFilesAreFromCDMedia: (BOOL) f; -+ (void) setDefaults; -+ (void) resetDefaults; -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; - -- (long) NoOfFrames; -- (long) getWidth; -- (long) getHeight; -- (long) NoOfSeries; -- (id) init:(NSString*) f; -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; -- (id) initRandom; -- (NSString*) patientUID; -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; -- (short)getPluginFile; -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; - -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; --(short) getDicomFile; --(short) getNIfTI; -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; -- (BOOL)useSeriesDescription; -- (BOOL) noLocalizer; -- (BOOL)combineProjectionSeries; -- (BOOL)combineProjectionSeriesMode; -- (BOOL)checkForLAVIM; -- (BOOL)separateCardiac4D; -- (int)commentsGroup ; -- (int)commentsElement ; -@end - - diff --git a/Coronary/CoronaryController.m b/Coronary/CoronaryController.m index d3e2952..dd2649e 100644 --- a/Coronary/CoronaryController.m +++ b/Coronary/CoronaryController.m @@ -192,14 +192,11 @@ -(void)dicomSave:(NSString*)seriesDescription backgroundColor:(NSColor*)backgrou NSString *f = [dicomExport writeDCMFile: nil]; if( f) - [BrowserController addFiles: [NSArray arrayWithObject: f] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: f] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; [dicomExport release]; } diff --git a/Create DICOMDIR/OsiriX Headers/DCMPix.h b/Create DICOMDIR/OsiriX Headers/DCMPix.h deleted file mode 100755 index ed096d8..0000000 --- a/Create DICOMDIR/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,446 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; - BOOL isBonjour; - BOOL nonDICOM; - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; - xNSImage *image; - short *oImage; - float *fImage, *fVolImage; - char *wImage; - -//DICOM TAGS - -// orientation - double originX, originY, originZ; - double orientation[ 9]; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSPoint independentOffset; - float independentRotation, independentZoom; -} - -+ (void) checkUserDefaults: (BOOL) update; -+ (void) resetUserDefaults; -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -// Is it an RGB image (ARGB) or float image? -- (BOOL) isRGB; - -// Pointer to image data -- (float*) fImage; - -// Dimensions in pixels -- (long) setPwidth:(long) w; -- (long) pwidth; - -- (long) setPheight:(long) h; -- (long) pheight; - -// WL & WW -- (float) ww; -- (float) wl; --(float) fullww; --(float) fullwl; -- (float) savedWL; -- (float) savedWW; -- (float) setSavedWL:(float) l; -- (float) setSavedWW:(float) w; -- (void) changeWLWW:(float)newWL :(float)newWW; --(void) computePixMinPixMax; -- (float) maxValueOfSeries; -- (void) setMaxValueOfSeries: (float) f; -- (float) minValueOfSeries; -- (void) setMinValueOfSeries: (float) f; --(NSPoint) independentOffset; --(void) setIndependentOffset:(NSPoint) z; --(float) independentRotation; --(void) setIndependentRotation:(float) z; --(float) independentZoom; --(void) setIndependentZoom:(float) z; -// Compute ROI data -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -// Fill a ROI with a value! -- (void) fillROI:(ROI*) roi newVal :(float) newVal minValue :(float) minValue maxValue :(float) maxValue outside :(BOOL) outside orientationStack :(long) orientationStack stackNo :(long) stackNo restore :(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi; - -// Is this Point (pt) in this ROI ? -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -// Return a pointer with all pixels values contained in the current ROI -// Free the pointer with the free() function -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - -// X/Y ratio - non-square pixels --(void) setPixelRatio:(float)r; --(double) pixelRatio; - -// pixel size --(double) pixelSpacingX; --(double) pixelSpacingY; --(void) setPixelSpacingX :(double) s; --(void) setPixelSpacingY :(double) s; - -// Slice orientation --(void) orientation:(float*) c; --(void) setOrientation:(float*) c; - --(void) orientationDouble:(double*) c; --(void) setOrientationDouble:(double*) c; - -// Slice location --(double) originX; --(double) originY; --(double) originZ; --(void) setOrigin :(float*) o; --(void) setOriginDouble :(double*) o; - -// Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -// using current slice location and orientation and vice versa --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; // Return index & sliceCoords - -// Thickness/Axial Location --(double) sliceLocation; --(void) setSliceLocation:(float) l; --(double) sliceThickness; --(void) setSliceThickness:(float) l; --(double) sliceInterval; --(void) setSliceInterval :(float) s; --(double) spacingBetweenSlices; - -// ID / FrameNo --(long) ID; -- (void) setID :(long) i; -- (long) frameNo; -- (void) setFrameNo:(long) f; -- (BOOL) thickSlabVRActivated; -- (void) ConvertToBW:(long) mode; -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; -- (float) cineRate; - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subPixOffset; -- (void) setSubPixOffset:(NSPoint) subOffset; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(long) DCMPixShutterRectWidth; --(long) DCMPixShutterRectHeight; --(long) DCMPixShutterRectOriginX; --(long) DCMPixShutterRectOriginY; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (NSString*) repetitiontime; -- (NSString*) echotime; -- (NSString*) flipAngle; -- (NSString*) laterality; -- (void) setRepetitiontime:(NSString*)rep; -- (void) setEchotime:(NSString*)echo; -- (NSString*) protocolName; -- (NSString*) viewPosition; -- (NSString*) patientPosition; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; -/* s == File Path - pos == Image ID (Number) - tot == number of IMages? - ptr == ptr to volume - f == frame number - ss == series number - hello == Bonjour - imageObj (iO) == image core data object - -- (id) initWithContentsOfFile:(NSString*) s - imageID:(long) pos - numberOfImages:(long) tot - volume:(float*) ptr - frameNumber:(long) f - seriesNumber:(long) ss - isBonjour:(BOOL) hello - imageObj: (NSManagedObject*) iO; -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; -- (NSImage*) image; -- (NSImage*) getImage; -- (char*) baseAddr; -- (void) setBaseAddr :( char*) ptr; -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (short*) oImage; -- (void) kill8bitsImage; -- (void) checkImageAvailble:(float)newWW :(float)newWL; --(long) rowBytes; --(void) setRowBytes:(long) rb; -- (BOOL)loadDICOMDCMFramework; -- (BOOL) loadDICOMPapyrus; -- (void) CheckLoadIn; -- (void) CheckLoad; -- (float*) computefImage; --(float) slope; --(float) offset; --(long) serieNo; --(long) Tot; --(void) setTot: (long) tot; --(void) setFusion:(short) m :(short) s :(short) direction; --(short) stack; --(short) stackMode; -- (long) rowBytes; -- (void) setRowBytes:(long) rb; -- (float) fullww; -- (float) fullwl; -- (void)setSourceFile:(NSString*)s; --(NSString*) sourceFile; --(void) setUpdateToApply; --(void) revert; -- (NSString*) sourceFile; -- (void) setUpdateToApply; -- (void) revert; -- (void) computePixMinPixMax; -- (void) setfImage:(float*) ptr; -- (void) setThickSlabController:( ThickSlabController*) ts; -- (void) setFixed8bitsWLWW:(BOOL) f; -- (BOOL) generated; -- (void) prepareRestore; -- (void) freeRestore; -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -//Database links -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; - -// Accessor methods needed for SUV calculations -- (float) philipsFactor; -- (float) patientsWeight; -- (void) setPatientsWeight : (float) v; -- (float) halflife; -- (void) setHalflife : (float) v; -- (float) radionuclideTotalDose; -- (void) setRadionuclideTotalDose : (float) v; -- (float) radionuclideTotalDoseCorrected; -- (void) setRadionuclideTotalDoseCorrected : (float) v; -- (NSCalendarDate*) acquisitionTime; -- (void) setAcquisitionTime : (NSCalendarDate*) d; -- (NSCalendarDate*) radiopharmaceuticalStartTime; -- (void) setRadiopharmaceuticalStartTime : (NSCalendarDate*) d; -- (void) setSUVConverted : (BOOL) v; -- (BOOL) SUVConverted; -- (float) decayFactor; -- (float) setDecayFactor: (float) f; -- (NSString*) units; -- (NSString*) decayCorrection; -- (void) setDecayCorrection : (NSString*) s; -- (void) checkSUV; -- (BOOL) hasSUV; -- (BOOL) displaySUVValue; -- (void) setDisplaySUVValue : (BOOL) v; -- (void) copySUVfrom: (DCMPix*) from; -- (NSString *)setUnits: (NSString *) s; -- (float) getPixelValueX: (long) x Y:(long) y; - -- (NSString *)srcFile; - -@end diff --git a/Create DICOMDIR/OsiriX Headers/DCMView.h b/Create DICOMDIR/OsiriX Headers/DCMView.h deleted file mode 100755 index 2f4735f..0000000 --- a/Create DICOMDIR/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,447 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -@interface DCMView: NSOpenGLView -{ - int _imageRows; - int _imageColumns; - int _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - float sliceVector[ 3], slicePoint[ 3], slicePointO[ 3], slicePointI[ 3]; - float sliceVector2[ 3], slicePoint2[ 3], slicePointO2[ 3], slicePointI2[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - NSTimer *mouseModifiers; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight; - - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSString *shortDateString, *shortDateTimeString; - NSDictionary *localeDictionnary; - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - NSSize scaleStart, scaleInit; - - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; // number of horizontal textures - long textureY, blendingTextureY; // number of vertical textures - GLuint * pTextureName; // array for texture names (# = textureX * textureY) - GLuint * blendingTextureName; // array for texture names (# = textureX * textureY) - long textureWidth; // total width of texels with cover image (including any border on image, but not internal texture overlaps) - long textureHeight; // total height of texels with cover image (including any border on image, but not internal texture overlaps) - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - BOOL cursorSet; - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged; - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - NSDictionary *_hotKeyDictionary; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible; - - char *resampledBaseAddr; - char *resampledTempAddr; - - int resampledBaseAddrSize; -} -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (NSMutableArray*) rectArray; --(BOOL) flippedData; -- (void) gClickCountSetReset; --(void) setFlippedData:(BOOL) f; - -(NSMutableArray*) dcmPixList; - -(NSMutableArray*) dcmRoiList; - -(NSArray*) dcmFilesList; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) syncSeriesIndex; -- (void) setSyncSeriesIndex:(long) i; -- (float) syncRelativeDiff; -- (void) setSyncRelativeDiff: (float) v; -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; -- (void) setCrossPrev:(NSPoint) c; --(NSPoint) cross; --(NSPoint) crossPrev; --(void) setSlab:(float) s; --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; --(void) setBlendingMode:(long) f; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT; -- (BOOL)xFlipped; -- (void)setXFlipped: (BOOL)v; -- (BOOL)yFlipped; -- (void)setYFlipped:(BOOL) v; -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) setStringID:(NSString*) str; -- (NSString*) stringID; -- (float) angle; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (void) setCurrentTool:(short)i; -- (short) currentTool; -- (short) currentToolRight; -- (void) setRightTool:(short) i; -- (void) dealloc; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setTheMatrix:(NSMatrix*)m; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (short) curImage; -- (BOOL) suppressLabels; -- (void) sendSyncMessage:(short) inc; -- (void) setQuartzExtreme:(BOOL) set; -- (void) loadTextures; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (float) scaleValue; -- (void) setScaleValue:(float) x; -- (float) rotation; -- (void) setRotation:(float) x; -- (NSPoint) rotatePoint:(NSPoint) a; -- (NSPoint) origin; -- (NSPoint) originOffset; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginOffset:(NSPoint) x; -- (void) setBlending:(DCMView*) bV; -- (double) pixelSpacing; -- (double) pixelSpacingX; -- (double) pixelSpacingY; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (DCMPix*)curDCM; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) doSyncronize:(NSNotification*)note; -- (BOOL) volumicSeries; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (float)mouseXPos; -- (float)mouseYPos; -- (float) contextualMenuInWindowPosX; -- (float) contextualMenuInWindowPosY; -- (BOOL)checkHasChanged; -- (BOOL)_checkHasChanged:(BOOL)flag; -- (GLuint)fontListGL; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) setSyncro:(long) s; -- (long) syncro; -- (NSFont*)fontGL; -- (void) setScaleValueCentered:(float) x; -//notifications -- (void) updateCurrentImage: (NSNotification*) note; -- (void)updateImageTiling:(NSNotification *)note; -- (void)setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void)setTag:( long)aTag; -- (long)tag; -- (float)curWW; -- (float)curWL; -- (float)scaleValue; -- (NSPoint)origin; -- (int)rows; -- (int)columns; -- (DCMView *)blendingView; -- (float)blendingFactor; -- (float)blendingMode; -- (NSCursor *)cursor; -- (void) becomeMainWindow; -- (BOOL)eraserFlag; -- (void)setEraserFlag: (BOOL)aFlag; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void)updatePresentationStateFromSeries; -- (IBAction)resetSeriesPresentationState:(id)sender; -- (IBAction)resetImagePresentationState:(id)sender; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) setDrawing:(BOOL) v; - -// methodes to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -@end diff --git a/Create DICOMDIR/OsiriX Headers/MyPoint.h b/Create DICOMDIR/OsiriX Headers/MyPoint.h deleted file mode 100755 index e80998d..0000000 --- a/Create DICOMDIR/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/Create DICOMDIR/OsiriX Headers/PluginFilter.h b/Create DICOMDIR/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 430ba29..0000000 --- a/Create DICOMDIR/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,72 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -// This function is called to apply your plugin -- (long) filterImage: (NSString*) menuName; - -// This function is the entry point of Pre-Process plugins -- (long) processFiles: (NSArray*) files; - -// This function is the entry point of Report plugins -- (id) report: (NSManagedObject*) study action:(NSString*) action; - -// action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -// action = @"deleteReport" -> return 0L, delete the report -// action = @"openReport" -> return 0L, open and display the report, create a new one if no report available - -// This function is called at the OsiriX startup, if you need to do some memory allocation, etc. -- (void) initPlugin; - -// Opportunity for plugins to make Menu changes if necessary - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -// Return the complete lists of opened studies in OsiriX -// NSArray contains an array of ViewerController objects -- (NSArray*) viewerControllersList; - -// Create a new 2D window, containing a copy of the current series -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. - -- (id)reportDateForStudy: (NSManagedObject*)study; -- (void)deleteReportForStudy: (NSManagedObject*)study; -- (void)createReportForStudy: (NSManagedObject*)study; - -// PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY - -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/Create DICOMDIR/OsiriX Headers/ROI.h b/Create DICOMDIR/OsiriX Headers/ROI.h deleted file mode 100755 index 685a838..0000000 --- a/Create DICOMDIR/OsiriX Headers/ROI.h +++ /dev/null @@ -1,291 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" -#include - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -@interface ROI : NSObject -{ - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - GLuint textureName, textureName2; - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - NSString *_roiSeriesInstanceUID; - NSString *_sopInstanceUID; - NSString *_referencedSOPInstanceUID; - NSString *_referencedSOPClassUID; - int _frameNumber; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - float _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL needsLoadTexture, needsLoadTexture2; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; -- (BOOL) clickInTextBox; - -- (int)textureDownRightCornerX; -- (int)textureDownRightCornerY; -- (int)textureUpLeftCornerX; -- (int)textureUpLeftCornerY; - -- (int)textureWidth; -- (int)textureHeight; -- (unsigned char*) textureBuffer; -- (void)displayTexture; -- (float) opacity; -- (void) setOpacity:(float)newOpacity; -- (NSString*) name; -- (void) setName:(NSString*) a; - -// Return/Set the comments of the ROI -- (NSString*) comments; -- (void) setComments:(NSString*) a; - -// Return the type of the ROI -- (long) type; - -// Return the current state of the ROI -- (long) ROImode; - -// Return/set the points state of the ROI -- (NSMutableArray*) points; -- (void) setPoints:(NSArray*) points; -- (NSMutableArray*) zPositions; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -// To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -- (void) setROIRect:(NSRect) rect; -- (NSRect) rect; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -// Return the DCMPix associated to this ROI -- (DCMPix*) pix; - -// Return the DCMView associated to this ROI -- (DCMView*) curView; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) setMousePosMeasure:(float) p; -- (NSData*) data; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (void) setROIMode :(long) v; -- (BOOL) deleteSelectedPoint; -- (RGBColor) rgbcolor; -- (void) setColor:(RGBColor) a; -- (float) thickness; -- (void) setThickness:(float) a; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (void) setPix: (DCMPix*) newPix; -- (DCMPix*) pix; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -// parent ROI -- (ROI*) parentROI; -- (void) setParentROI: (ROI*) aROI; - - -//DICOM info -- (NSString *) roiSeriesInstanceUID; -- (NSString *) sopInstanceUID; -- (NSString *) referencedSOPInstanceUID; -- (NSString *) referencedSOPClassUID; -- (int) frameNumber; - -- (void) setRoiSeriesInstanceUID:(NSString *)uid; -- (void) setSopInstanceUID:(NSString *)uid; -- (void) setReferencedSOPInstanceUID:(NSString *)uid; -- (void) setReferencedSOPClassUID:(NSString *)uid; -- (void) setFrameNumber:(int)frame; - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; -- (void)setDisplayCalciumScoring:(BOOL)value; -- (void)setCalciumThreshold:(int)threshold; - -- (float) sliceThickness; -- (void) setSliceThickness:(float)sliceThickness; - -- (void)setLayerReferenceFilePath:(NSString*)path; -- (NSString*)layerReferenceFilePath; -- (void)setLayerImage:(NSImage*)image; -//- (void)setLayerImageWhenSelected:(NSImage*)image; -- (void)loadLayerImageTexture; -//- (void)loadLayerImageWhenSelectedTexture; -- (void)generateEncodedLayerImage; -- (void)setLayerPixelSpacingX:(float)x; -- (void)setLayerPixelSpacingY:(float)y; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -- (void)setTextualBoxLine1:(NSString*)line; -- (void)setTextualBoxLine2:(NSString*)line; -- (void)setTextualBoxLine3:(NSString*)line; -- (void)setTextualBoxLine4:(NSString*)line; -- (void)setTextualBoxLine5:(NSString*)line; - -- (NSTimeInterval)groupID; -- (void)setGroupID:(NSTimeInterval)timestamp; - -- (NSPoint) lowerRightPoint; - -- (void)setIsLayerOpacityConstant:(BOOL)boo; -- (void)setCanColorizeLayer:(BOOL)boo; - -- (BOOL)setDisplayTextualData:(BOOL)boo; - -- (NSPoint)clickPoint; - -@end diff --git a/Create DICOMDIR/OsiriX Headers/ViewerController.h b/Create DICOMDIR/OsiriX Headers/ViewerController.h deleted file mode 100755 index 545465c..0000000 --- a/Create DICOMDIR/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,708 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSButton *blendingTypeRed, *blendingTypeGreen, *blendingTypeBlue; - IBOutlet NSPopUpButton *blendingPlugins; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies; - - float resampleRatio; - - NSRect savedWindowsFrame; -} - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -//JF20070103 -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBOutlet)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void)createDCMViewMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; - -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - - -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/Create DICOMDIR/OsiriX Headers/browserController.h b/Create DICOMDIR/OsiriX Headers/browserController.h deleted file mode 100755 index 20b1060..0000000 --- a/Create DICOMDIR/OsiriX Headers/browserController.h +++ /dev/null @@ -1,298 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; - - - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; - -@interface BrowserController : NSWindowController//NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *files2Send, *sendQueue; - id destinationServer; - - NSMutableArray *previewPix; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - QueryController * queryController; - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - IBOutlet NSSplitView *logViewSplit; - - BOOL setDCMDone, mountedVolume; - - volatile BOOL shouldDie, threadRunning, threadWillRunning, bonjourDownloading; - - NSArray *outlineViewArray; - NSArray *matrixViewArray; - NSArray *allColumns; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - IBOutlet NSMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSProgressIndicator *working; - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - - IBOutlet PreviewView *imageView; - IBOutlet NSWindow *serverWindow; - IBOutlet NSTextField *noImages; - IBOutlet NSComboBox *serverList; - IBOutlet NSPopUpButton *syntaxListOsiriX, *syntaxListOffis; - IBOutlet NSMatrix *DICOMSendTool; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSTableView *sendLogTable; -// IBOutlet NSTableView *receiveLogTable; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSMatrix *keyImageMatrix; - -// IBOutlet NSTextField *pNo, *pSize, *pLoc; -// IBOutlet NSButton *showAll; - -// IBOutlet NSWindow *window; - - BOOL showAllImages, DatabaseIsEdited; - NSConditionLock *queueLock; -} - -+ (BrowserController*) currentBrowser; - -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; - - -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; -- (IBAction) sendiDisk:(id) sender; -- (IBAction) sendiPod:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; --(void) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(void) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (void) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; -- (void)sendDICOMFiles:(NSMutableArray *)files; -- (IBAction) endSelectServer:(id) sender; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOM:(id) sender; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; - -- (void) setupToolbar; - -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; - -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (IBAction)setImageTiling: (id)sender; - -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; - -- (IBAction) opendDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; - -- (void) ReBuildDatabase:(id) sender; -- (long) COLUMN; -- (BOOL) is2DViewer; -- (void) previewSliderAction:(id) sender; -- (void)addHelpMenu; - -- (BOOL) isItCD:(NSArray*) pathFilesComponent; -- (void)setSendMessage:(NSNotification *)note; -- (void)receivedImage:(NSNotification *)note; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; - - -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (void) addFilesAndFolderToDatabase:(NSArray*) filenames; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -- (void)runSendQueue:(id)object; -- (void)addToQueue:(NSArray *)array; -- (MyOutlineView*) databaseOutline; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; - -- (void)reloadSendLog:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; - - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - --(void) refreshDatabase:(id) sender; - --(void) removeAllMounted; - -//bonjour -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (BOOL) isCurrentDatabaseBonjour; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) currentDatabasePath; -- (void) setBonjourDownloading:(BOOL) v; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) localDatabasePath; -- (NSString*) askPassword; -- (NSString*) bonjourPassword; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectory; - -@end diff --git a/Create DICOMDIR/OsiriX Headers/dicomFile.h b/Create DICOMDIR/OsiriX Headers/dicomFile.h deleted file mode 100755 index eacd3fe..0000000 --- a/Create DICOMDIR/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - - - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; - -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; -+ (BOOL) isFVTiffFile:(NSString *) file; -+ (BOOL) isNIfTIFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; -+ (BOOL) isXMLDescriptedFile:(NSString *) file; -+ (BOOL) isXMLDescriptorFile:(NSString *) file; -+ (void) setFilesAreFromCDMedia: (BOOL) f; -+ (void) setDefaults; -+ (void) resetDefaults; -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; - -- (long) NoOfFrames; -- (long) getWidth; -- (long) getHeight; -- (long) NoOfSeries; -- (id) init:(NSString*) f; -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; -- (id) initRandom; -- (NSString*) patientUID; -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; -- (short)getPluginFile; -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; - -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; --(short) getDicomFile; --(short) getNIfTI; -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; -- (BOOL)useSeriesDescription; -- (BOOL) noLocalizer; -- (BOOL)combineProjectionSeries; -- (BOOL)combineProjectionSeriesMode; -- (BOOL)checkForLAVIM; -- (BOOL)separateCardiac4D; -- (int)commentsGroup ; -- (int)commentsElement ; -@end - - diff --git a/DB Test/OsiriX Headers/DCMPix.h b/DB Test/OsiriX Headers/DCMPix.h deleted file mode 100755 index ed096d8..0000000 --- a/DB Test/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,446 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; - BOOL isBonjour; - BOOL nonDICOM; - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; - xNSImage *image; - short *oImage; - float *fImage, *fVolImage; - char *wImage; - -//DICOM TAGS - -// orientation - double originX, originY, originZ; - double orientation[ 9]; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSPoint independentOffset; - float independentRotation, independentZoom; -} - -+ (void) checkUserDefaults: (BOOL) update; -+ (void) resetUserDefaults; -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -// Is it an RGB image (ARGB) or float image? -- (BOOL) isRGB; - -// Pointer to image data -- (float*) fImage; - -// Dimensions in pixels -- (long) setPwidth:(long) w; -- (long) pwidth; - -- (long) setPheight:(long) h; -- (long) pheight; - -// WL & WW -- (float) ww; -- (float) wl; --(float) fullww; --(float) fullwl; -- (float) savedWL; -- (float) savedWW; -- (float) setSavedWL:(float) l; -- (float) setSavedWW:(float) w; -- (void) changeWLWW:(float)newWL :(float)newWW; --(void) computePixMinPixMax; -- (float) maxValueOfSeries; -- (void) setMaxValueOfSeries: (float) f; -- (float) minValueOfSeries; -- (void) setMinValueOfSeries: (float) f; --(NSPoint) independentOffset; --(void) setIndependentOffset:(NSPoint) z; --(float) independentRotation; --(void) setIndependentRotation:(float) z; --(float) independentZoom; --(void) setIndependentZoom:(float) z; -// Compute ROI data -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -// Fill a ROI with a value! -- (void) fillROI:(ROI*) roi newVal :(float) newVal minValue :(float) minValue maxValue :(float) maxValue outside :(BOOL) outside orientationStack :(long) orientationStack stackNo :(long) stackNo restore :(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi; - -// Is this Point (pt) in this ROI ? -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -// Return a pointer with all pixels values contained in the current ROI -// Free the pointer with the free() function -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - -// X/Y ratio - non-square pixels --(void) setPixelRatio:(float)r; --(double) pixelRatio; - -// pixel size --(double) pixelSpacingX; --(double) pixelSpacingY; --(void) setPixelSpacingX :(double) s; --(void) setPixelSpacingY :(double) s; - -// Slice orientation --(void) orientation:(float*) c; --(void) setOrientation:(float*) c; - --(void) orientationDouble:(double*) c; --(void) setOrientationDouble:(double*) c; - -// Slice location --(double) originX; --(double) originY; --(double) originZ; --(void) setOrigin :(float*) o; --(void) setOriginDouble :(double*) o; - -// Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -// using current slice location and orientation and vice versa --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; // Return index & sliceCoords - -// Thickness/Axial Location --(double) sliceLocation; --(void) setSliceLocation:(float) l; --(double) sliceThickness; --(void) setSliceThickness:(float) l; --(double) sliceInterval; --(void) setSliceInterval :(float) s; --(double) spacingBetweenSlices; - -// ID / FrameNo --(long) ID; -- (void) setID :(long) i; -- (long) frameNo; -- (void) setFrameNo:(long) f; -- (BOOL) thickSlabVRActivated; -- (void) ConvertToBW:(long) mode; -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; -- (float) cineRate; - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subPixOffset; -- (void) setSubPixOffset:(NSPoint) subOffset; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(long) DCMPixShutterRectWidth; --(long) DCMPixShutterRectHeight; --(long) DCMPixShutterRectOriginX; --(long) DCMPixShutterRectOriginY; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (NSString*) repetitiontime; -- (NSString*) echotime; -- (NSString*) flipAngle; -- (NSString*) laterality; -- (void) setRepetitiontime:(NSString*)rep; -- (void) setEchotime:(NSString*)echo; -- (NSString*) protocolName; -- (NSString*) viewPosition; -- (NSString*) patientPosition; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; -/* s == File Path - pos == Image ID (Number) - tot == number of IMages? - ptr == ptr to volume - f == frame number - ss == series number - hello == Bonjour - imageObj (iO) == image core data object - -- (id) initWithContentsOfFile:(NSString*) s - imageID:(long) pos - numberOfImages:(long) tot - volume:(float*) ptr - frameNumber:(long) f - seriesNumber:(long) ss - isBonjour:(BOOL) hello - imageObj: (NSManagedObject*) iO; -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; -- (NSImage*) image; -- (NSImage*) getImage; -- (char*) baseAddr; -- (void) setBaseAddr :( char*) ptr; -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (short*) oImage; -- (void) kill8bitsImage; -- (void) checkImageAvailble:(float)newWW :(float)newWL; --(long) rowBytes; --(void) setRowBytes:(long) rb; -- (BOOL)loadDICOMDCMFramework; -- (BOOL) loadDICOMPapyrus; -- (void) CheckLoadIn; -- (void) CheckLoad; -- (float*) computefImage; --(float) slope; --(float) offset; --(long) serieNo; --(long) Tot; --(void) setTot: (long) tot; --(void) setFusion:(short) m :(short) s :(short) direction; --(short) stack; --(short) stackMode; -- (long) rowBytes; -- (void) setRowBytes:(long) rb; -- (float) fullww; -- (float) fullwl; -- (void)setSourceFile:(NSString*)s; --(NSString*) sourceFile; --(void) setUpdateToApply; --(void) revert; -- (NSString*) sourceFile; -- (void) setUpdateToApply; -- (void) revert; -- (void) computePixMinPixMax; -- (void) setfImage:(float*) ptr; -- (void) setThickSlabController:( ThickSlabController*) ts; -- (void) setFixed8bitsWLWW:(BOOL) f; -- (BOOL) generated; -- (void) prepareRestore; -- (void) freeRestore; -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -//Database links -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; - -// Accessor methods needed for SUV calculations -- (float) philipsFactor; -- (float) patientsWeight; -- (void) setPatientsWeight : (float) v; -- (float) halflife; -- (void) setHalflife : (float) v; -- (float) radionuclideTotalDose; -- (void) setRadionuclideTotalDose : (float) v; -- (float) radionuclideTotalDoseCorrected; -- (void) setRadionuclideTotalDoseCorrected : (float) v; -- (NSCalendarDate*) acquisitionTime; -- (void) setAcquisitionTime : (NSCalendarDate*) d; -- (NSCalendarDate*) radiopharmaceuticalStartTime; -- (void) setRadiopharmaceuticalStartTime : (NSCalendarDate*) d; -- (void) setSUVConverted : (BOOL) v; -- (BOOL) SUVConverted; -- (float) decayFactor; -- (float) setDecayFactor: (float) f; -- (NSString*) units; -- (NSString*) decayCorrection; -- (void) setDecayCorrection : (NSString*) s; -- (void) checkSUV; -- (BOOL) hasSUV; -- (BOOL) displaySUVValue; -- (void) setDisplaySUVValue : (BOOL) v; -- (void) copySUVfrom: (DCMPix*) from; -- (NSString *)setUnits: (NSString *) s; -- (float) getPixelValueX: (long) x Y:(long) y; - -- (NSString *)srcFile; - -@end diff --git a/DB Test/OsiriX Headers/DCMView.h b/DB Test/OsiriX Headers/DCMView.h deleted file mode 100755 index 2f4735f..0000000 --- a/DB Test/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,447 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -@interface DCMView: NSOpenGLView -{ - int _imageRows; - int _imageColumns; - int _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - float sliceVector[ 3], slicePoint[ 3], slicePointO[ 3], slicePointI[ 3]; - float sliceVector2[ 3], slicePoint2[ 3], slicePointO2[ 3], slicePointI2[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - NSTimer *mouseModifiers; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight; - - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSString *shortDateString, *shortDateTimeString; - NSDictionary *localeDictionnary; - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - NSSize scaleStart, scaleInit; - - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; // number of horizontal textures - long textureY, blendingTextureY; // number of vertical textures - GLuint * pTextureName; // array for texture names (# = textureX * textureY) - GLuint * blendingTextureName; // array for texture names (# = textureX * textureY) - long textureWidth; // total width of texels with cover image (including any border on image, but not internal texture overlaps) - long textureHeight; // total height of texels with cover image (including any border on image, but not internal texture overlaps) - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - BOOL cursorSet; - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged; - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - NSDictionary *_hotKeyDictionary; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible; - - char *resampledBaseAddr; - char *resampledTempAddr; - - int resampledBaseAddrSize; -} -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (NSMutableArray*) rectArray; --(BOOL) flippedData; -- (void) gClickCountSetReset; --(void) setFlippedData:(BOOL) f; - -(NSMutableArray*) dcmPixList; - -(NSMutableArray*) dcmRoiList; - -(NSArray*) dcmFilesList; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) syncSeriesIndex; -- (void) setSyncSeriesIndex:(long) i; -- (float) syncRelativeDiff; -- (void) setSyncRelativeDiff: (float) v; -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; -- (void) setCrossPrev:(NSPoint) c; --(NSPoint) cross; --(NSPoint) crossPrev; --(void) setSlab:(float) s; --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; --(void) setBlendingMode:(long) f; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT; -- (BOOL)xFlipped; -- (void)setXFlipped: (BOOL)v; -- (BOOL)yFlipped; -- (void)setYFlipped:(BOOL) v; -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) setStringID:(NSString*) str; -- (NSString*) stringID; -- (float) angle; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (void) setCurrentTool:(short)i; -- (short) currentTool; -- (short) currentToolRight; -- (void) setRightTool:(short) i; -- (void) dealloc; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setTheMatrix:(NSMatrix*)m; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (short) curImage; -- (BOOL) suppressLabels; -- (void) sendSyncMessage:(short) inc; -- (void) setQuartzExtreme:(BOOL) set; -- (void) loadTextures; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (float) scaleValue; -- (void) setScaleValue:(float) x; -- (float) rotation; -- (void) setRotation:(float) x; -- (NSPoint) rotatePoint:(NSPoint) a; -- (NSPoint) origin; -- (NSPoint) originOffset; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginOffset:(NSPoint) x; -- (void) setBlending:(DCMView*) bV; -- (double) pixelSpacing; -- (double) pixelSpacingX; -- (double) pixelSpacingY; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (DCMPix*)curDCM; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) doSyncronize:(NSNotification*)note; -- (BOOL) volumicSeries; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (float)mouseXPos; -- (float)mouseYPos; -- (float) contextualMenuInWindowPosX; -- (float) contextualMenuInWindowPosY; -- (BOOL)checkHasChanged; -- (BOOL)_checkHasChanged:(BOOL)flag; -- (GLuint)fontListGL; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) setSyncro:(long) s; -- (long) syncro; -- (NSFont*)fontGL; -- (void) setScaleValueCentered:(float) x; -//notifications -- (void) updateCurrentImage: (NSNotification*) note; -- (void)updateImageTiling:(NSNotification *)note; -- (void)setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void)setTag:( long)aTag; -- (long)tag; -- (float)curWW; -- (float)curWL; -- (float)scaleValue; -- (NSPoint)origin; -- (int)rows; -- (int)columns; -- (DCMView *)blendingView; -- (float)blendingFactor; -- (float)blendingMode; -- (NSCursor *)cursor; -- (void) becomeMainWindow; -- (BOOL)eraserFlag; -- (void)setEraserFlag: (BOOL)aFlag; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void)updatePresentationStateFromSeries; -- (IBAction)resetSeriesPresentationState:(id)sender; -- (IBAction)resetImagePresentationState:(id)sender; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) setDrawing:(BOOL) v; - -// methodes to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -@end diff --git a/DB Test/OsiriX Headers/MyPoint.h b/DB Test/OsiriX Headers/MyPoint.h deleted file mode 100755 index e80998d..0000000 --- a/DB Test/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/DB Test/OsiriX Headers/PluginFilter.h b/DB Test/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 430ba29..0000000 --- a/DB Test/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,72 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -// This function is called to apply your plugin -- (long) filterImage: (NSString*) menuName; - -// This function is the entry point of Pre-Process plugins -- (long) processFiles: (NSArray*) files; - -// This function is the entry point of Report plugins -- (id) report: (NSManagedObject*) study action:(NSString*) action; - -// action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -// action = @"deleteReport" -> return 0L, delete the report -// action = @"openReport" -> return 0L, open and display the report, create a new one if no report available - -// This function is called at the OsiriX startup, if you need to do some memory allocation, etc. -- (void) initPlugin; - -// Opportunity for plugins to make Menu changes if necessary - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -// Return the complete lists of opened studies in OsiriX -// NSArray contains an array of ViewerController objects -- (NSArray*) viewerControllersList; - -// Create a new 2D window, containing a copy of the current series -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. - -- (id)reportDateForStudy: (NSManagedObject*)study; -- (void)deleteReportForStudy: (NSManagedObject*)study; -- (void)createReportForStudy: (NSManagedObject*)study; - -// PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY - -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/DB Test/OsiriX Headers/ROI.h b/DB Test/OsiriX Headers/ROI.h deleted file mode 100755 index 685a838..0000000 --- a/DB Test/OsiriX Headers/ROI.h +++ /dev/null @@ -1,291 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" -#include - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -@interface ROI : NSObject -{ - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - GLuint textureName, textureName2; - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - NSString *_roiSeriesInstanceUID; - NSString *_sopInstanceUID; - NSString *_referencedSOPInstanceUID; - NSString *_referencedSOPClassUID; - int _frameNumber; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - float _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL needsLoadTexture, needsLoadTexture2; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; -- (BOOL) clickInTextBox; - -- (int)textureDownRightCornerX; -- (int)textureDownRightCornerY; -- (int)textureUpLeftCornerX; -- (int)textureUpLeftCornerY; - -- (int)textureWidth; -- (int)textureHeight; -- (unsigned char*) textureBuffer; -- (void)displayTexture; -- (float) opacity; -- (void) setOpacity:(float)newOpacity; -- (NSString*) name; -- (void) setName:(NSString*) a; - -// Return/Set the comments of the ROI -- (NSString*) comments; -- (void) setComments:(NSString*) a; - -// Return the type of the ROI -- (long) type; - -// Return the current state of the ROI -- (long) ROImode; - -// Return/set the points state of the ROI -- (NSMutableArray*) points; -- (void) setPoints:(NSArray*) points; -- (NSMutableArray*) zPositions; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -// To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -- (void) setROIRect:(NSRect) rect; -- (NSRect) rect; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -// Return the DCMPix associated to this ROI -- (DCMPix*) pix; - -// Return the DCMView associated to this ROI -- (DCMView*) curView; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) setMousePosMeasure:(float) p; -- (NSData*) data; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (void) setROIMode :(long) v; -- (BOOL) deleteSelectedPoint; -- (RGBColor) rgbcolor; -- (void) setColor:(RGBColor) a; -- (float) thickness; -- (void) setThickness:(float) a; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (void) setPix: (DCMPix*) newPix; -- (DCMPix*) pix; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -// parent ROI -- (ROI*) parentROI; -- (void) setParentROI: (ROI*) aROI; - - -//DICOM info -- (NSString *) roiSeriesInstanceUID; -- (NSString *) sopInstanceUID; -- (NSString *) referencedSOPInstanceUID; -- (NSString *) referencedSOPClassUID; -- (int) frameNumber; - -- (void) setRoiSeriesInstanceUID:(NSString *)uid; -- (void) setSopInstanceUID:(NSString *)uid; -- (void) setReferencedSOPInstanceUID:(NSString *)uid; -- (void) setReferencedSOPClassUID:(NSString *)uid; -- (void) setFrameNumber:(int)frame; - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; -- (void)setDisplayCalciumScoring:(BOOL)value; -- (void)setCalciumThreshold:(int)threshold; - -- (float) sliceThickness; -- (void) setSliceThickness:(float)sliceThickness; - -- (void)setLayerReferenceFilePath:(NSString*)path; -- (NSString*)layerReferenceFilePath; -- (void)setLayerImage:(NSImage*)image; -//- (void)setLayerImageWhenSelected:(NSImage*)image; -- (void)loadLayerImageTexture; -//- (void)loadLayerImageWhenSelectedTexture; -- (void)generateEncodedLayerImage; -- (void)setLayerPixelSpacingX:(float)x; -- (void)setLayerPixelSpacingY:(float)y; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -- (void)setTextualBoxLine1:(NSString*)line; -- (void)setTextualBoxLine2:(NSString*)line; -- (void)setTextualBoxLine3:(NSString*)line; -- (void)setTextualBoxLine4:(NSString*)line; -- (void)setTextualBoxLine5:(NSString*)line; - -- (NSTimeInterval)groupID; -- (void)setGroupID:(NSTimeInterval)timestamp; - -- (NSPoint) lowerRightPoint; - -- (void)setIsLayerOpacityConstant:(BOOL)boo; -- (void)setCanColorizeLayer:(BOOL)boo; - -- (BOOL)setDisplayTextualData:(BOOL)boo; - -- (NSPoint)clickPoint; - -@end diff --git a/DB Test/OsiriX Headers/ViewerController.h b/DB Test/OsiriX Headers/ViewerController.h deleted file mode 100755 index 545465c..0000000 --- a/DB Test/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,708 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSButton *blendingTypeRed, *blendingTypeGreen, *blendingTypeBlue; - IBOutlet NSPopUpButton *blendingPlugins; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies; - - float resampleRatio; - - NSRect savedWindowsFrame; -} - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -//JF20070103 -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBOutlet)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void)createDCMViewMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; - -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - - -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/DB Test/OsiriX Headers/browserController.h b/DB Test/OsiriX Headers/browserController.h deleted file mode 100755 index 20b1060..0000000 --- a/DB Test/OsiriX Headers/browserController.h +++ /dev/null @@ -1,298 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; - - - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; - -@interface BrowserController : NSWindowController//NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *files2Send, *sendQueue; - id destinationServer; - - NSMutableArray *previewPix; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - QueryController * queryController; - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - IBOutlet NSSplitView *logViewSplit; - - BOOL setDCMDone, mountedVolume; - - volatile BOOL shouldDie, threadRunning, threadWillRunning, bonjourDownloading; - - NSArray *outlineViewArray; - NSArray *matrixViewArray; - NSArray *allColumns; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - IBOutlet NSMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSProgressIndicator *working; - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - - IBOutlet PreviewView *imageView; - IBOutlet NSWindow *serverWindow; - IBOutlet NSTextField *noImages; - IBOutlet NSComboBox *serverList; - IBOutlet NSPopUpButton *syntaxListOsiriX, *syntaxListOffis; - IBOutlet NSMatrix *DICOMSendTool; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSTableView *sendLogTable; -// IBOutlet NSTableView *receiveLogTable; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSMatrix *keyImageMatrix; - -// IBOutlet NSTextField *pNo, *pSize, *pLoc; -// IBOutlet NSButton *showAll; - -// IBOutlet NSWindow *window; - - BOOL showAllImages, DatabaseIsEdited; - NSConditionLock *queueLock; -} - -+ (BrowserController*) currentBrowser; - -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; - - -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; -- (IBAction) sendiDisk:(id) sender; -- (IBAction) sendiPod:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; --(void) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(void) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (void) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; -- (void)sendDICOMFiles:(NSMutableArray *)files; -- (IBAction) endSelectServer:(id) sender; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOM:(id) sender; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; - -- (void) setupToolbar; - -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; - -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (IBAction)setImageTiling: (id)sender; - -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; - -- (IBAction) opendDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; - -- (void) ReBuildDatabase:(id) sender; -- (long) COLUMN; -- (BOOL) is2DViewer; -- (void) previewSliderAction:(id) sender; -- (void)addHelpMenu; - -- (BOOL) isItCD:(NSArray*) pathFilesComponent; -- (void)setSendMessage:(NSNotification *)note; -- (void)receivedImage:(NSNotification *)note; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; - - -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (void) addFilesAndFolderToDatabase:(NSArray*) filenames; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -- (void)runSendQueue:(id)object; -- (void)addToQueue:(NSArray *)array; -- (MyOutlineView*) databaseOutline; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; - -- (void)reloadSendLog:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; - - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - --(void) refreshDatabase:(id) sender; - --(void) removeAllMounted; - -//bonjour -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (BOOL) isCurrentDatabaseBonjour; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) currentDatabasePath; -- (void) setBonjourDownloading:(BOOL) v; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) localDatabasePath; -- (NSString*) askPassword; -- (NSString*) bonjourPassword; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectory; - -@end diff --git a/DB Test/OsiriX Headers/dicomFile.h b/DB Test/OsiriX Headers/dicomFile.h deleted file mode 100755 index eacd3fe..0000000 --- a/DB Test/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - - - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; - -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; -+ (BOOL) isFVTiffFile:(NSString *) file; -+ (BOOL) isNIfTIFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; -+ (BOOL) isXMLDescriptedFile:(NSString *) file; -+ (BOOL) isXMLDescriptorFile:(NSString *) file; -+ (void) setFilesAreFromCDMedia: (BOOL) f; -+ (void) setDefaults; -+ (void) resetDefaults; -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; - -- (long) NoOfFrames; -- (long) getWidth; -- (long) getHeight; -- (long) NoOfSeries; -- (id) init:(NSString*) f; -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; -- (id) initRandom; -- (NSString*) patientUID; -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; -- (short)getPluginFile; -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; - -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; --(short) getDicomFile; --(short) getNIfTI; -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; -- (BOOL)useSeriesDescription; -- (BOOL) noLocalizer; -- (BOOL)combineProjectionSeries; -- (BOOL)combineProjectionSeriesMode; -- (BOOL)checkForLAVIM; -- (BOOL)separateCardiac4D; -- (int)commentsGroup ; -- (int)commentsElement ; -@end - - diff --git a/Ejection Fraction/Ejection Fraction II.xcodeproj/project.pbxproj b/Ejection Fraction/Ejection Fraction II.xcodeproj/project.pbxproj index 638a846..c801738 100644 --- a/Ejection Fraction/Ejection Fraction II.xcodeproj/project.pbxproj +++ b/Ejection Fraction/Ejection Fraction II.xcodeproj/project.pbxproj @@ -46,7 +46,7 @@ 59FB4F7810A2D68800283D52 /* TeichholzEjectionFractionAlgorithm.h in Headers */ = {isa = PBXBuildFile; fileRef = 59FB4F7610A2D68800283D52 /* TeichholzEjectionFractionAlgorithm.h */; }; 59FB4F7910A2D68800283D52 /* TeichholzEjectionFractionAlgorithm.mm in Sources */ = {isa = PBXBuildFile; fileRef = 59FB4F7710A2D68800283D52 /* TeichholzEjectionFractionAlgorithm.mm */; }; 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; - CE7FC25F16CB7D00003E9474 /* OsiriXAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE7FC25E16CB7D00003E9474 /* OsiriXAPI.framework */; }; + CEB6E5BC172D126500826F3F /* OsiriXAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEB6E5BB172D126500826F3F /* OsiriXAPI.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -93,7 +93,7 @@ 59FB4F7610A2D68800283D52 /* TeichholzEjectionFractionAlgorithm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TeichholzEjectionFractionAlgorithm.h; path = Sources/Algorithms/TeichholzEjectionFractionAlgorithm.h; sourceTree = ""; }; 59FB4F7710A2D68800283D52 /* TeichholzEjectionFractionAlgorithm.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TeichholzEjectionFractionAlgorithm.mm; path = Sources/Algorithms/TeichholzEjectionFractionAlgorithm.mm; sourceTree = ""; }; AB5D36050680E57E00F4007A /* Ejection Fraction.osirixplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Ejection Fraction.osirixplugin"; sourceTree = BUILT_PRODUCTS_DIR; }; - CE7FC25E16CB7D00003E9474 /* OsiriXAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OsiriXAPI.framework; path = ../../osirix/osirix/build/Development/OsiriXAPI.framework; sourceTree = ""; }; + CEB6E5BB172D126500826F3F /* OsiriXAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OsiriXAPI.framework; path = ../../osirix/build/Development/OsiriXAPI.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -102,7 +102,7 @@ buildActionMask = 2147483647; files = ( 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, - CE7FC25F16CB7D00003E9474 /* OsiriXAPI.framework in Frameworks */, + CEB6E5BC172D126500826F3F /* OsiriXAPI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -124,7 +124,7 @@ 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { isa = PBXGroup; children = ( - CE7FC25E16CB7D00003E9474 /* OsiriXAPI.framework */, + CEB6E5BB172D126500826F3F /* OsiriXAPI.framework */, 089C1672FE841209C02AAC07 /* Foundation.framework */, 089C167FFE841241C02AAC07 /* AppKit.framework */, 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, @@ -336,6 +336,7 @@ "$(inherited)", "\"$(SRCROOT)/../../osirix-trunk/build/Development/\"", "\"$(SRCROOT)/../../osirix/osirix/build/Development\"", + "\"$(SRCROOT)/../../osirix/build/Development\"", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; diff --git a/Ejection Fraction/Ejection Fraction II.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Ejection Fraction/Ejection Fraction II.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..02c9261 --- /dev/null +++ b/Ejection Fraction/Ejection Fraction II.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Ejection Fraction/Ejection Fraction II.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate b/Ejection Fraction/Ejection Fraction II.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..3cf8651 Binary files /dev/null and b/Ejection Fraction/Ejection Fraction II.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Ejection Fraction/Ejection Fraction II.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/Ejection Fraction II.xcscheme b/Ejection Fraction/Ejection Fraction II.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/Ejection Fraction II.xcscheme new file mode 100644 index 0000000..3881a08 --- /dev/null +++ b/Ejection Fraction/Ejection Fraction II.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/Ejection Fraction II.xcscheme @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Ejection Fraction/Ejection Fraction II.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist b/Ejection Fraction/Ejection Fraction II.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..11493ad --- /dev/null +++ b/Ejection Fraction/Ejection Fraction II.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Ejection Fraction II.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D5B49AC048680CD000E48DA + + primary + + + + + diff --git a/Ejection Fraction/Sources/EjectionFractionResultsController.mm b/Ejection Fraction/Sources/EjectionFractionResultsController.mm index 8b1b34a..dfc1577 100644 --- a/Ejection Fraction/Sources/EjectionFractionResultsController.mm +++ b/Ejection Fraction/Sources/EjectionFractionResultsController.mm @@ -289,14 +289,11 @@ -(void)dicomSave:(NSString*)seriesDescription backgroundColor:(NSColor*)backgrou NSString *f = [dicomExport writeDCMFile: nil]; if( f) - [BrowserController addFiles: [NSArray arrayWithObject: f] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: f] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; [dicomExport release]; } diff --git a/HipArthroplastyTemplating/Sources/ArthroplastyTemplatingStepsController.mm b/HipArthroplastyTemplating/Sources/ArthroplastyTemplatingStepsController.mm index d391b33..1bc7bd7 100644 --- a/HipArthroplastyTemplating/Sources/ArthroplastyTemplatingStepsController.mm +++ b/HipArthroplastyTemplating/Sources/ArthroplastyTemplatingStepsController.mm @@ -877,17 +877,14 @@ -(void)steps:(N2Steps*)steps validateStep:(N2Step*)step { [_viewerController deselectAllROIs]; NSDictionary* d = [_viewerController exportDICOMFileInt:YES withName:name]; - if (d.count) { - NSArray* files = [NSArray arrayWithObject:d]; - [BrowserController addFiles:[files valueForKey:@"file"] - toContext:[[BrowserController currentBrowser] managedObjectContext] - toDatabase:[BrowserController currentBrowser] - onlyDICOM:YES - notifyAddedFiles:YES - parseExistingObject:YES - dbFolder:[[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX:YES]; - } else [[BrowserController currentBrowser] checkIncoming:self]; + if (d.count) + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject:[d valueForKey: @"file"]] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; + else + [[DicomDatabase activeLocalDatabase] importFilesFromIncomingDir]; // send to PACS if ([_sendToPACSButton state]==NSOnState) diff --git a/JPEG to DICOM/DCMJpegImportFilter.m b/JPEG to DICOM/DCMJpegImportFilter.m index 74fea40..9cb14ff 100755 --- a/JPEG to DICOM/DCMJpegImportFilter.m +++ b/JPEG to DICOM/DCMJpegImportFilter.m @@ -193,14 +193,11 @@ - (NSString*) convertImageToDICOM:(NSString *)path source:(NSString *)src createdFile = [[e writeDCMFile: nil] retain]; if( createdFile) - [BrowserController addFiles: [NSArray arrayWithObject: createdFile] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: createdFile] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; } } [pool release]; diff --git a/MATLAB/Sources/MATLABPlugin.mm b/MATLAB/Sources/MATLABPlugin.mm index be5a7a0..7bcaca8 100644 --- a/MATLAB/Sources/MATLABPlugin.mm +++ b/MATLAB/Sources/MATLABPlugin.mm @@ -65,14 +65,12 @@ -(long)filterImage:(NSString*)menuName { NSString *f = [de writeDCMFile:NULL]; if( f) - [BrowserController addFiles: [NSArray arrayWithObject: f] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: f] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; + [de release]; diff --git a/MIRC Teaching File/OsiriX Headers/DCMPix.h b/MIRC Teaching File/OsiriX Headers/DCMPix.h deleted file mode 100755 index ed096d8..0000000 --- a/MIRC Teaching File/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,446 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; - BOOL isBonjour; - BOOL nonDICOM; - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; - xNSImage *image; - short *oImage; - float *fImage, *fVolImage; - char *wImage; - -//DICOM TAGS - -// orientation - double originX, originY, originZ; - double orientation[ 9]; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSPoint independentOffset; - float independentRotation, independentZoom; -} - -+ (void) checkUserDefaults: (BOOL) update; -+ (void) resetUserDefaults; -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -// Is it an RGB image (ARGB) or float image? -- (BOOL) isRGB; - -// Pointer to image data -- (float*) fImage; - -// Dimensions in pixels -- (long) setPwidth:(long) w; -- (long) pwidth; - -- (long) setPheight:(long) h; -- (long) pheight; - -// WL & WW -- (float) ww; -- (float) wl; --(float) fullww; --(float) fullwl; -- (float) savedWL; -- (float) savedWW; -- (float) setSavedWL:(float) l; -- (float) setSavedWW:(float) w; -- (void) changeWLWW:(float)newWL :(float)newWW; --(void) computePixMinPixMax; -- (float) maxValueOfSeries; -- (void) setMaxValueOfSeries: (float) f; -- (float) minValueOfSeries; -- (void) setMinValueOfSeries: (float) f; --(NSPoint) independentOffset; --(void) setIndependentOffset:(NSPoint) z; --(float) independentRotation; --(void) setIndependentRotation:(float) z; --(float) independentZoom; --(void) setIndependentZoom:(float) z; -// Compute ROI data -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -// Fill a ROI with a value! -- (void) fillROI:(ROI*) roi newVal :(float) newVal minValue :(float) minValue maxValue :(float) maxValue outside :(BOOL) outside orientationStack :(long) orientationStack stackNo :(long) stackNo restore :(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi; - -// Is this Point (pt) in this ROI ? -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -// Return a pointer with all pixels values contained in the current ROI -// Free the pointer with the free() function -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - -// X/Y ratio - non-square pixels --(void) setPixelRatio:(float)r; --(double) pixelRatio; - -// pixel size --(double) pixelSpacingX; --(double) pixelSpacingY; --(void) setPixelSpacingX :(double) s; --(void) setPixelSpacingY :(double) s; - -// Slice orientation --(void) orientation:(float*) c; --(void) setOrientation:(float*) c; - --(void) orientationDouble:(double*) c; --(void) setOrientationDouble:(double*) c; - -// Slice location --(double) originX; --(double) originY; --(double) originZ; --(void) setOrigin :(float*) o; --(void) setOriginDouble :(double*) o; - -// Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -// using current slice location and orientation and vice versa --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; // Return index & sliceCoords - -// Thickness/Axial Location --(double) sliceLocation; --(void) setSliceLocation:(float) l; --(double) sliceThickness; --(void) setSliceThickness:(float) l; --(double) sliceInterval; --(void) setSliceInterval :(float) s; --(double) spacingBetweenSlices; - -// ID / FrameNo --(long) ID; -- (void) setID :(long) i; -- (long) frameNo; -- (void) setFrameNo:(long) f; -- (BOOL) thickSlabVRActivated; -- (void) ConvertToBW:(long) mode; -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; -- (float) cineRate; - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subPixOffset; -- (void) setSubPixOffset:(NSPoint) subOffset; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(long) DCMPixShutterRectWidth; --(long) DCMPixShutterRectHeight; --(long) DCMPixShutterRectOriginX; --(long) DCMPixShutterRectOriginY; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (NSString*) repetitiontime; -- (NSString*) echotime; -- (NSString*) flipAngle; -- (NSString*) laterality; -- (void) setRepetitiontime:(NSString*)rep; -- (void) setEchotime:(NSString*)echo; -- (NSString*) protocolName; -- (NSString*) viewPosition; -- (NSString*) patientPosition; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; -/* s == File Path - pos == Image ID (Number) - tot == number of IMages? - ptr == ptr to volume - f == frame number - ss == series number - hello == Bonjour - imageObj (iO) == image core data object - -- (id) initWithContentsOfFile:(NSString*) s - imageID:(long) pos - numberOfImages:(long) tot - volume:(float*) ptr - frameNumber:(long) f - seriesNumber:(long) ss - isBonjour:(BOOL) hello - imageObj: (NSManagedObject*) iO; -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; -- (NSImage*) image; -- (NSImage*) getImage; -- (char*) baseAddr; -- (void) setBaseAddr :( char*) ptr; -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (short*) oImage; -- (void) kill8bitsImage; -- (void) checkImageAvailble:(float)newWW :(float)newWL; --(long) rowBytes; --(void) setRowBytes:(long) rb; -- (BOOL)loadDICOMDCMFramework; -- (BOOL) loadDICOMPapyrus; -- (void) CheckLoadIn; -- (void) CheckLoad; -- (float*) computefImage; --(float) slope; --(float) offset; --(long) serieNo; --(long) Tot; --(void) setTot: (long) tot; --(void) setFusion:(short) m :(short) s :(short) direction; --(short) stack; --(short) stackMode; -- (long) rowBytes; -- (void) setRowBytes:(long) rb; -- (float) fullww; -- (float) fullwl; -- (void)setSourceFile:(NSString*)s; --(NSString*) sourceFile; --(void) setUpdateToApply; --(void) revert; -- (NSString*) sourceFile; -- (void) setUpdateToApply; -- (void) revert; -- (void) computePixMinPixMax; -- (void) setfImage:(float*) ptr; -- (void) setThickSlabController:( ThickSlabController*) ts; -- (void) setFixed8bitsWLWW:(BOOL) f; -- (BOOL) generated; -- (void) prepareRestore; -- (void) freeRestore; -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -//Database links -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; - -// Accessor methods needed for SUV calculations -- (float) philipsFactor; -- (float) patientsWeight; -- (void) setPatientsWeight : (float) v; -- (float) halflife; -- (void) setHalflife : (float) v; -- (float) radionuclideTotalDose; -- (void) setRadionuclideTotalDose : (float) v; -- (float) radionuclideTotalDoseCorrected; -- (void) setRadionuclideTotalDoseCorrected : (float) v; -- (NSCalendarDate*) acquisitionTime; -- (void) setAcquisitionTime : (NSCalendarDate*) d; -- (NSCalendarDate*) radiopharmaceuticalStartTime; -- (void) setRadiopharmaceuticalStartTime : (NSCalendarDate*) d; -- (void) setSUVConverted : (BOOL) v; -- (BOOL) SUVConverted; -- (float) decayFactor; -- (float) setDecayFactor: (float) f; -- (NSString*) units; -- (NSString*) decayCorrection; -- (void) setDecayCorrection : (NSString*) s; -- (void) checkSUV; -- (BOOL) hasSUV; -- (BOOL) displaySUVValue; -- (void) setDisplaySUVValue : (BOOL) v; -- (void) copySUVfrom: (DCMPix*) from; -- (NSString *)setUnits: (NSString *) s; -- (float) getPixelValueX: (long) x Y:(long) y; - -- (NSString *)srcFile; - -@end diff --git a/MIRC Teaching File/OsiriX Headers/ImageAndTextCell.h b/MIRC Teaching File/OsiriX Headers/ImageAndTextCell.h deleted file mode 100755 index 2b9da3f..0000000 --- a/MIRC Teaching File/OsiriX Headers/ImageAndTextCell.h +++ /dev/null @@ -1,31 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -@interface ImageAndTextCell : NSTextFieldCell { -@private - NSImage *image; -} - -- (void)setImage:(NSImage *)anImage; -- (NSImage *)image; - -- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView; -- (NSSize)cellSize; - -@end \ No newline at end of file diff --git a/MIRC Teaching File/OsiriX Headers/MyPoint.h b/MIRC Teaching File/OsiriX Headers/MyPoint.h deleted file mode 100755 index e80998d..0000000 --- a/MIRC Teaching File/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/MIRC Teaching File/OsiriX Headers/PluginFilter.h b/MIRC Teaching File/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 430ba29..0000000 --- a/MIRC Teaching File/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,72 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -// This function is called to apply your plugin -- (long) filterImage: (NSString*) menuName; - -// This function is the entry point of Pre-Process plugins -- (long) processFiles: (NSArray*) files; - -// This function is the entry point of Report plugins -- (id) report: (NSManagedObject*) study action:(NSString*) action; - -// action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -// action = @"deleteReport" -> return 0L, delete the report -// action = @"openReport" -> return 0L, open and display the report, create a new one if no report available - -// This function is called at the OsiriX startup, if you need to do some memory allocation, etc. -- (void) initPlugin; - -// Opportunity for plugins to make Menu changes if necessary - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -// Return the complete lists of opened studies in OsiriX -// NSArray contains an array of ViewerController objects -- (NSArray*) viewerControllersList; - -// Create a new 2D window, containing a copy of the current series -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. - -- (id)reportDateForStudy: (NSManagedObject*)study; -- (void)deleteReportForStudy: (NSManagedObject*)study; -- (void)createReportForStudy: (NSManagedObject*)study; - -// PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY - -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/MIRC Teaching File/OsiriX Headers/ROI.h b/MIRC Teaching File/OsiriX Headers/ROI.h deleted file mode 100755 index 685a838..0000000 --- a/MIRC Teaching File/OsiriX Headers/ROI.h +++ /dev/null @@ -1,291 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" -#include - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -@interface ROI : NSObject -{ - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - GLuint textureName, textureName2; - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - NSString *_roiSeriesInstanceUID; - NSString *_sopInstanceUID; - NSString *_referencedSOPInstanceUID; - NSString *_referencedSOPClassUID; - int _frameNumber; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - float _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL needsLoadTexture, needsLoadTexture2; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; -- (BOOL) clickInTextBox; - -- (int)textureDownRightCornerX; -- (int)textureDownRightCornerY; -- (int)textureUpLeftCornerX; -- (int)textureUpLeftCornerY; - -- (int)textureWidth; -- (int)textureHeight; -- (unsigned char*) textureBuffer; -- (void)displayTexture; -- (float) opacity; -- (void) setOpacity:(float)newOpacity; -- (NSString*) name; -- (void) setName:(NSString*) a; - -// Return/Set the comments of the ROI -- (NSString*) comments; -- (void) setComments:(NSString*) a; - -// Return the type of the ROI -- (long) type; - -// Return the current state of the ROI -- (long) ROImode; - -// Return/set the points state of the ROI -- (NSMutableArray*) points; -- (void) setPoints:(NSArray*) points; -- (NSMutableArray*) zPositions; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -// To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -- (void) setROIRect:(NSRect) rect; -- (NSRect) rect; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -// Return the DCMPix associated to this ROI -- (DCMPix*) pix; - -// Return the DCMView associated to this ROI -- (DCMView*) curView; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) setMousePosMeasure:(float) p; -- (NSData*) data; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (void) setROIMode :(long) v; -- (BOOL) deleteSelectedPoint; -- (RGBColor) rgbcolor; -- (void) setColor:(RGBColor) a; -- (float) thickness; -- (void) setThickness:(float) a; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (void) setPix: (DCMPix*) newPix; -- (DCMPix*) pix; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -// parent ROI -- (ROI*) parentROI; -- (void) setParentROI: (ROI*) aROI; - - -//DICOM info -- (NSString *) roiSeriesInstanceUID; -- (NSString *) sopInstanceUID; -- (NSString *) referencedSOPInstanceUID; -- (NSString *) referencedSOPClassUID; -- (int) frameNumber; - -- (void) setRoiSeriesInstanceUID:(NSString *)uid; -- (void) setSopInstanceUID:(NSString *)uid; -- (void) setReferencedSOPInstanceUID:(NSString *)uid; -- (void) setReferencedSOPClassUID:(NSString *)uid; -- (void) setFrameNumber:(int)frame; - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; -- (void)setDisplayCalciumScoring:(BOOL)value; -- (void)setCalciumThreshold:(int)threshold; - -- (float) sliceThickness; -- (void) setSliceThickness:(float)sliceThickness; - -- (void)setLayerReferenceFilePath:(NSString*)path; -- (NSString*)layerReferenceFilePath; -- (void)setLayerImage:(NSImage*)image; -//- (void)setLayerImageWhenSelected:(NSImage*)image; -- (void)loadLayerImageTexture; -//- (void)loadLayerImageWhenSelectedTexture; -- (void)generateEncodedLayerImage; -- (void)setLayerPixelSpacingX:(float)x; -- (void)setLayerPixelSpacingY:(float)y; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -- (void)setTextualBoxLine1:(NSString*)line; -- (void)setTextualBoxLine2:(NSString*)line; -- (void)setTextualBoxLine3:(NSString*)line; -- (void)setTextualBoxLine4:(NSString*)line; -- (void)setTextualBoxLine5:(NSString*)line; - -- (NSTimeInterval)groupID; -- (void)setGroupID:(NSTimeInterval)timestamp; - -- (NSPoint) lowerRightPoint; - -- (void)setIsLayerOpacityConstant:(BOOL)boo; -- (void)setCanColorizeLayer:(BOOL)boo; - -- (BOOL)setDisplayTextualData:(BOOL)boo; - -- (NSPoint)clickPoint; - -@end diff --git a/MIRC Teaching File/OsiriX Headers/ViewerController.h b/MIRC Teaching File/OsiriX Headers/ViewerController.h deleted file mode 100755 index 545465c..0000000 --- a/MIRC Teaching File/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,708 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSButton *blendingTypeRed, *blendingTypeGreen, *blendingTypeBlue; - IBOutlet NSPopUpButton *blendingPlugins; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies; - - float resampleRatio; - - NSRect savedWindowsFrame; -} - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -//JF20070103 -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBOutlet)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void)createDCMViewMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; - -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - - -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/MIRC Teaching File/OsiriX Headers/browserController.h b/MIRC Teaching File/OsiriX Headers/browserController.h deleted file mode 100755 index 20b1060..0000000 --- a/MIRC Teaching File/OsiriX Headers/browserController.h +++ /dev/null @@ -1,298 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; - - - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; - -@interface BrowserController : NSWindowController//NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *files2Send, *sendQueue; - id destinationServer; - - NSMutableArray *previewPix; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - QueryController * queryController; - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - IBOutlet NSSplitView *logViewSplit; - - BOOL setDCMDone, mountedVolume; - - volatile BOOL shouldDie, threadRunning, threadWillRunning, bonjourDownloading; - - NSArray *outlineViewArray; - NSArray *matrixViewArray; - NSArray *allColumns; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - IBOutlet NSMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSProgressIndicator *working; - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - - IBOutlet PreviewView *imageView; - IBOutlet NSWindow *serverWindow; - IBOutlet NSTextField *noImages; - IBOutlet NSComboBox *serverList; - IBOutlet NSPopUpButton *syntaxListOsiriX, *syntaxListOffis; - IBOutlet NSMatrix *DICOMSendTool; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSTableView *sendLogTable; -// IBOutlet NSTableView *receiveLogTable; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSMatrix *keyImageMatrix; - -// IBOutlet NSTextField *pNo, *pSize, *pLoc; -// IBOutlet NSButton *showAll; - -// IBOutlet NSWindow *window; - - BOOL showAllImages, DatabaseIsEdited; - NSConditionLock *queueLock; -} - -+ (BrowserController*) currentBrowser; - -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; - - -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; -- (IBAction) sendiDisk:(id) sender; -- (IBAction) sendiPod:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; --(void) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(void) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (void) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; -- (void)sendDICOMFiles:(NSMutableArray *)files; -- (IBAction) endSelectServer:(id) sender; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOM:(id) sender; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; - -- (void) setupToolbar; - -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; - -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (IBAction)setImageTiling: (id)sender; - -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; - -- (IBAction) opendDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; - -- (void) ReBuildDatabase:(id) sender; -- (long) COLUMN; -- (BOOL) is2DViewer; -- (void) previewSliderAction:(id) sender; -- (void)addHelpMenu; - -- (BOOL) isItCD:(NSArray*) pathFilesComponent; -- (void)setSendMessage:(NSNotification *)note; -- (void)receivedImage:(NSNotification *)note; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; - - -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (void) addFilesAndFolderToDatabase:(NSArray*) filenames; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -- (void)runSendQueue:(id)object; -- (void)addToQueue:(NSArray *)array; -- (MyOutlineView*) databaseOutline; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; - -- (void)reloadSendLog:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; - - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - --(void) refreshDatabase:(id) sender; - --(void) removeAllMounted; - -//bonjour -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (BOOL) isCurrentDatabaseBonjour; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) currentDatabasePath; -- (void) setBonjourDownloading:(BOOL) v; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) localDatabasePath; -- (NSString*) askPassword; -- (NSString*) bonjourPassword; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectory; - -@end diff --git a/MIRC Teaching File/OsiriX Headers/dicomFile.h b/MIRC Teaching File/OsiriX Headers/dicomFile.h deleted file mode 100755 index eacd3fe..0000000 --- a/MIRC Teaching File/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - - - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; - -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; -+ (BOOL) isFVTiffFile:(NSString *) file; -+ (BOOL) isNIfTIFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; -+ (BOOL) isXMLDescriptedFile:(NSString *) file; -+ (BOOL) isXMLDescriptorFile:(NSString *) file; -+ (void) setFilesAreFromCDMedia: (BOOL) f; -+ (void) setDefaults; -+ (void) resetDefaults; -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; - -- (long) NoOfFrames; -- (long) getWidth; -- (long) getHeight; -- (long) NoOfSeries; -- (id) init:(NSString*) f; -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; -- (id) initRandom; -- (NSString*) patientUID; -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; -- (short)getPluginFile; -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; - -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; --(short) getDicomFile; --(short) getNIfTI; -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; -- (BOOL)useSeriesDescription; -- (BOOL) noLocalizer; -- (BOOL)combineProjectionSeries; -- (BOOL)combineProjectionSeriesMode; -- (BOOL)checkForLAVIM; -- (BOOL)separateCardiac4D; -- (int)commentsGroup ; -- (int)commentsElement ; -@end - - diff --git a/Quicktime to DICOM/Quicktime2DICOM.m b/Quicktime to DICOM/Quicktime2DICOM.m index 5723c0c..51f33b3 100755 --- a/Quicktime to DICOM/Quicktime2DICOM.m +++ b/Quicktime to DICOM/Quicktime2DICOM.m @@ -201,14 +201,11 @@ - (void)convertMovieToDICOM:(NSString *)path source:(NSString*) src NSString *f = [e writeDCMFile: nil]; if( f) - [BrowserController addFiles: [NSArray arrayWithObject: f] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: f] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; free( data); } diff --git a/ROI Enhancement II/Sources/RoiEnhancementInterface.mm b/ROI Enhancement II/Sources/RoiEnhancementInterface.mm index c087928..e49b07b 100644 --- a/ROI Enhancement II/Sources/RoiEnhancementInterface.mm +++ b/ROI Enhancement II/Sources/RoiEnhancementInterface.mm @@ -154,14 +154,11 @@ -(void)dicomSave:(NSString*)seriesDescription backgroundColor:(NSColor*)backgrou NSString* f = [dicomExport writeDCMFile: nil]; if (f) - [BrowserController addFiles: [NSArray arrayWithObject: f] - toContext: [[BrowserController currentBrowser] managedObjectContext] - toDatabase: [BrowserController currentBrowser] - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [[BrowserController currentBrowser] documentsDirectory] - generatedByOsiriX: YES]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject: f] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; [dicomExport release]; } diff --git a/SSH/OsiriX Headers/DCMPix.h b/SSH/OsiriX Headers/DCMPix.h deleted file mode 100755 index ed096d8..0000000 --- a/SSH/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,446 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; - BOOL isBonjour; - BOOL nonDICOM; - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; - xNSImage *image; - short *oImage; - float *fImage, *fVolImage; - char *wImage; - -//DICOM TAGS - -// orientation - double originX, originY, originZ; - double orientation[ 9]; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSPoint independentOffset; - float independentRotation, independentZoom; -} - -+ (void) checkUserDefaults: (BOOL) update; -+ (void) resetUserDefaults; -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -// Is it an RGB image (ARGB) or float image? -- (BOOL) isRGB; - -// Pointer to image data -- (float*) fImage; - -// Dimensions in pixels -- (long) setPwidth:(long) w; -- (long) pwidth; - -- (long) setPheight:(long) h; -- (long) pheight; - -// WL & WW -- (float) ww; -- (float) wl; --(float) fullww; --(float) fullwl; -- (float) savedWL; -- (float) savedWW; -- (float) setSavedWL:(float) l; -- (float) setSavedWW:(float) w; -- (void) changeWLWW:(float)newWL :(float)newWW; --(void) computePixMinPixMax; -- (float) maxValueOfSeries; -- (void) setMaxValueOfSeries: (float) f; -- (float) minValueOfSeries; -- (void) setMinValueOfSeries: (float) f; --(NSPoint) independentOffset; --(void) setIndependentOffset:(NSPoint) z; --(float) independentRotation; --(void) setIndependentRotation:(float) z; --(float) independentZoom; --(void) setIndependentZoom:(float) z; -// Compute ROI data -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -// Fill a ROI with a value! -- (void) fillROI:(ROI*) roi newVal :(float) newVal minValue :(float) minValue maxValue :(float) maxValue outside :(BOOL) outside orientationStack :(long) orientationStack stackNo :(long) stackNo restore :(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi; - -// Is this Point (pt) in this ROI ? -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -// Return a pointer with all pixels values contained in the current ROI -// Free the pointer with the free() function -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - -// X/Y ratio - non-square pixels --(void) setPixelRatio:(float)r; --(double) pixelRatio; - -// pixel size --(double) pixelSpacingX; --(double) pixelSpacingY; --(void) setPixelSpacingX :(double) s; --(void) setPixelSpacingY :(double) s; - -// Slice orientation --(void) orientation:(float*) c; --(void) setOrientation:(float*) c; - --(void) orientationDouble:(double*) c; --(void) setOrientationDouble:(double*) c; - -// Slice location --(double) originX; --(double) originY; --(double) originZ; --(void) setOrigin :(float*) o; --(void) setOriginDouble :(double*) o; - -// Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -// using current slice location and orientation and vice versa --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; // Return index & sliceCoords - -// Thickness/Axial Location --(double) sliceLocation; --(void) setSliceLocation:(float) l; --(double) sliceThickness; --(void) setSliceThickness:(float) l; --(double) sliceInterval; --(void) setSliceInterval :(float) s; --(double) spacingBetweenSlices; - -// ID / FrameNo --(long) ID; -- (void) setID :(long) i; -- (long) frameNo; -- (void) setFrameNo:(long) f; -- (BOOL) thickSlabVRActivated; -- (void) ConvertToBW:(long) mode; -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; -- (float) cineRate; - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subPixOffset; -- (void) setSubPixOffset:(NSPoint) subOffset; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(long) DCMPixShutterRectWidth; --(long) DCMPixShutterRectHeight; --(long) DCMPixShutterRectOriginX; --(long) DCMPixShutterRectOriginY; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (NSString*) repetitiontime; -- (NSString*) echotime; -- (NSString*) flipAngle; -- (NSString*) laterality; -- (void) setRepetitiontime:(NSString*)rep; -- (void) setEchotime:(NSString*)echo; -- (NSString*) protocolName; -- (NSString*) viewPosition; -- (NSString*) patientPosition; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; -/* s == File Path - pos == Image ID (Number) - tot == number of IMages? - ptr == ptr to volume - f == frame number - ss == series number - hello == Bonjour - imageObj (iO) == image core data object - -- (id) initWithContentsOfFile:(NSString*) s - imageID:(long) pos - numberOfImages:(long) tot - volume:(float*) ptr - frameNumber:(long) f - seriesNumber:(long) ss - isBonjour:(BOOL) hello - imageObj: (NSManagedObject*) iO; -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; -- (NSImage*) image; -- (NSImage*) getImage; -- (char*) baseAddr; -- (void) setBaseAddr :( char*) ptr; -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (short*) oImage; -- (void) kill8bitsImage; -- (void) checkImageAvailble:(float)newWW :(float)newWL; --(long) rowBytes; --(void) setRowBytes:(long) rb; -- (BOOL)loadDICOMDCMFramework; -- (BOOL) loadDICOMPapyrus; -- (void) CheckLoadIn; -- (void) CheckLoad; -- (float*) computefImage; --(float) slope; --(float) offset; --(long) serieNo; --(long) Tot; --(void) setTot: (long) tot; --(void) setFusion:(short) m :(short) s :(short) direction; --(short) stack; --(short) stackMode; -- (long) rowBytes; -- (void) setRowBytes:(long) rb; -- (float) fullww; -- (float) fullwl; -- (void)setSourceFile:(NSString*)s; --(NSString*) sourceFile; --(void) setUpdateToApply; --(void) revert; -- (NSString*) sourceFile; -- (void) setUpdateToApply; -- (void) revert; -- (void) computePixMinPixMax; -- (void) setfImage:(float*) ptr; -- (void) setThickSlabController:( ThickSlabController*) ts; -- (void) setFixed8bitsWLWW:(BOOL) f; -- (BOOL) generated; -- (void) prepareRestore; -- (void) freeRestore; -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -//Database links -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; - -// Accessor methods needed for SUV calculations -- (float) philipsFactor; -- (float) patientsWeight; -- (void) setPatientsWeight : (float) v; -- (float) halflife; -- (void) setHalflife : (float) v; -- (float) radionuclideTotalDose; -- (void) setRadionuclideTotalDose : (float) v; -- (float) radionuclideTotalDoseCorrected; -- (void) setRadionuclideTotalDoseCorrected : (float) v; -- (NSCalendarDate*) acquisitionTime; -- (void) setAcquisitionTime : (NSCalendarDate*) d; -- (NSCalendarDate*) radiopharmaceuticalStartTime; -- (void) setRadiopharmaceuticalStartTime : (NSCalendarDate*) d; -- (void) setSUVConverted : (BOOL) v; -- (BOOL) SUVConverted; -- (float) decayFactor; -- (float) setDecayFactor: (float) f; -- (NSString*) units; -- (NSString*) decayCorrection; -- (void) setDecayCorrection : (NSString*) s; -- (void) checkSUV; -- (BOOL) hasSUV; -- (BOOL) displaySUVValue; -- (void) setDisplaySUVValue : (BOOL) v; -- (void) copySUVfrom: (DCMPix*) from; -- (NSString *)setUnits: (NSString *) s; -- (float) getPixelValueX: (long) x Y:(long) y; - -- (NSString *)srcFile; - -@end diff --git a/SSH/OsiriX Headers/DCMView.h b/SSH/OsiriX Headers/DCMView.h deleted file mode 100755 index 2f4735f..0000000 --- a/SSH/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,447 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -@interface DCMView: NSOpenGLView -{ - int _imageRows; - int _imageColumns; - int _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - float sliceVector[ 3], slicePoint[ 3], slicePointO[ 3], slicePointI[ 3]; - float sliceVector2[ 3], slicePoint2[ 3], slicePointO2[ 3], slicePointI2[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - NSTimer *mouseModifiers; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight; - - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSString *shortDateString, *shortDateTimeString; - NSDictionary *localeDictionnary; - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - NSSize scaleStart, scaleInit; - - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; // number of horizontal textures - long textureY, blendingTextureY; // number of vertical textures - GLuint * pTextureName; // array for texture names (# = textureX * textureY) - GLuint * blendingTextureName; // array for texture names (# = textureX * textureY) - long textureWidth; // total width of texels with cover image (including any border on image, but not internal texture overlaps) - long textureHeight; // total height of texels with cover image (including any border on image, but not internal texture overlaps) - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - BOOL cursorSet; - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged; - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - NSDictionary *_hotKeyDictionary; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible; - - char *resampledBaseAddr; - char *resampledTempAddr; - - int resampledBaseAddrSize; -} -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (NSMutableArray*) rectArray; --(BOOL) flippedData; -- (void) gClickCountSetReset; --(void) setFlippedData:(BOOL) f; - -(NSMutableArray*) dcmPixList; - -(NSMutableArray*) dcmRoiList; - -(NSArray*) dcmFilesList; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) syncSeriesIndex; -- (void) setSyncSeriesIndex:(long) i; -- (float) syncRelativeDiff; -- (void) setSyncRelativeDiff: (float) v; -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; -- (void) setCrossPrev:(NSPoint) c; --(NSPoint) cross; --(NSPoint) crossPrev; --(void) setSlab:(float) s; --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; --(void) setBlendingMode:(long) f; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT; -- (BOOL)xFlipped; -- (void)setXFlipped: (BOOL)v; -- (BOOL)yFlipped; -- (void)setYFlipped:(BOOL) v; -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) setStringID:(NSString*) str; -- (NSString*) stringID; -- (float) angle; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (void) setCurrentTool:(short)i; -- (short) currentTool; -- (short) currentToolRight; -- (void) setRightTool:(short) i; -- (void) dealloc; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setTheMatrix:(NSMatrix*)m; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (short) curImage; -- (BOOL) suppressLabels; -- (void) sendSyncMessage:(short) inc; -- (void) setQuartzExtreme:(BOOL) set; -- (void) loadTextures; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (float) scaleValue; -- (void) setScaleValue:(float) x; -- (float) rotation; -- (void) setRotation:(float) x; -- (NSPoint) rotatePoint:(NSPoint) a; -- (NSPoint) origin; -- (NSPoint) originOffset; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginOffset:(NSPoint) x; -- (void) setBlending:(DCMView*) bV; -- (double) pixelSpacing; -- (double) pixelSpacingX; -- (double) pixelSpacingY; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (DCMPix*)curDCM; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) doSyncronize:(NSNotification*)note; -- (BOOL) volumicSeries; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (float)mouseXPos; -- (float)mouseYPos; -- (float) contextualMenuInWindowPosX; -- (float) contextualMenuInWindowPosY; -- (BOOL)checkHasChanged; -- (BOOL)_checkHasChanged:(BOOL)flag; -- (GLuint)fontListGL; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) setSyncro:(long) s; -- (long) syncro; -- (NSFont*)fontGL; -- (void) setScaleValueCentered:(float) x; -//notifications -- (void) updateCurrentImage: (NSNotification*) note; -- (void)updateImageTiling:(NSNotification *)note; -- (void)setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void)setTag:( long)aTag; -- (long)tag; -- (float)curWW; -- (float)curWL; -- (float)scaleValue; -- (NSPoint)origin; -- (int)rows; -- (int)columns; -- (DCMView *)blendingView; -- (float)blendingFactor; -- (float)blendingMode; -- (NSCursor *)cursor; -- (void) becomeMainWindow; -- (BOOL)eraserFlag; -- (void)setEraserFlag: (BOOL)aFlag; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void)updatePresentationStateFromSeries; -- (IBAction)resetSeriesPresentationState:(id)sender; -- (IBAction)resetImagePresentationState:(id)sender; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) setDrawing:(BOOL) v; - -// methodes to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -@end diff --git a/SSH/OsiriX Headers/MyPoint.h b/SSH/OsiriX Headers/MyPoint.h deleted file mode 100755 index e80998d..0000000 --- a/SSH/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/SSH/OsiriX Headers/PluginFilter.h b/SSH/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 430ba29..0000000 --- a/SSH/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,72 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -// This function is called to apply your plugin -- (long) filterImage: (NSString*) menuName; - -// This function is the entry point of Pre-Process plugins -- (long) processFiles: (NSArray*) files; - -// This function is the entry point of Report plugins -- (id) report: (NSManagedObject*) study action:(NSString*) action; - -// action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -// action = @"deleteReport" -> return 0L, delete the report -// action = @"openReport" -> return 0L, open and display the report, create a new one if no report available - -// This function is called at the OsiriX startup, if you need to do some memory allocation, etc. -- (void) initPlugin; - -// Opportunity for plugins to make Menu changes if necessary - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -// Return the complete lists of opened studies in OsiriX -// NSArray contains an array of ViewerController objects -- (NSArray*) viewerControllersList; - -// Create a new 2D window, containing a copy of the current series -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. - -- (id)reportDateForStudy: (NSManagedObject*)study; -- (void)deleteReportForStudy: (NSManagedObject*)study; -- (void)createReportForStudy: (NSManagedObject*)study; - -// PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY - -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/SSH/OsiriX Headers/ROI.h b/SSH/OsiriX Headers/ROI.h deleted file mode 100755 index 685a838..0000000 --- a/SSH/OsiriX Headers/ROI.h +++ /dev/null @@ -1,291 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" -#include - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -@interface ROI : NSObject -{ - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - GLuint textureName, textureName2; - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - NSString *_roiSeriesInstanceUID; - NSString *_sopInstanceUID; - NSString *_referencedSOPInstanceUID; - NSString *_referencedSOPClassUID; - int _frameNumber; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - float _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL needsLoadTexture, needsLoadTexture2; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; -- (BOOL) clickInTextBox; - -- (int)textureDownRightCornerX; -- (int)textureDownRightCornerY; -- (int)textureUpLeftCornerX; -- (int)textureUpLeftCornerY; - -- (int)textureWidth; -- (int)textureHeight; -- (unsigned char*) textureBuffer; -- (void)displayTexture; -- (float) opacity; -- (void) setOpacity:(float)newOpacity; -- (NSString*) name; -- (void) setName:(NSString*) a; - -// Return/Set the comments of the ROI -- (NSString*) comments; -- (void) setComments:(NSString*) a; - -// Return the type of the ROI -- (long) type; - -// Return the current state of the ROI -- (long) ROImode; - -// Return/set the points state of the ROI -- (NSMutableArray*) points; -- (void) setPoints:(NSArray*) points; -- (NSMutableArray*) zPositions; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -// To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -- (void) setROIRect:(NSRect) rect; -- (NSRect) rect; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -// Return the DCMPix associated to this ROI -- (DCMPix*) pix; - -// Return the DCMView associated to this ROI -- (DCMView*) curView; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) setMousePosMeasure:(float) p; -- (NSData*) data; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (void) setROIMode :(long) v; -- (BOOL) deleteSelectedPoint; -- (RGBColor) rgbcolor; -- (void) setColor:(RGBColor) a; -- (float) thickness; -- (void) setThickness:(float) a; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (void) setPix: (DCMPix*) newPix; -- (DCMPix*) pix; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -// parent ROI -- (ROI*) parentROI; -- (void) setParentROI: (ROI*) aROI; - - -//DICOM info -- (NSString *) roiSeriesInstanceUID; -- (NSString *) sopInstanceUID; -- (NSString *) referencedSOPInstanceUID; -- (NSString *) referencedSOPClassUID; -- (int) frameNumber; - -- (void) setRoiSeriesInstanceUID:(NSString *)uid; -- (void) setSopInstanceUID:(NSString *)uid; -- (void) setReferencedSOPInstanceUID:(NSString *)uid; -- (void) setReferencedSOPClassUID:(NSString *)uid; -- (void) setFrameNumber:(int)frame; - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; -- (void)setDisplayCalciumScoring:(BOOL)value; -- (void)setCalciumThreshold:(int)threshold; - -- (float) sliceThickness; -- (void) setSliceThickness:(float)sliceThickness; - -- (void)setLayerReferenceFilePath:(NSString*)path; -- (NSString*)layerReferenceFilePath; -- (void)setLayerImage:(NSImage*)image; -//- (void)setLayerImageWhenSelected:(NSImage*)image; -- (void)loadLayerImageTexture; -//- (void)loadLayerImageWhenSelectedTexture; -- (void)generateEncodedLayerImage; -- (void)setLayerPixelSpacingX:(float)x; -- (void)setLayerPixelSpacingY:(float)y; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -- (void)setTextualBoxLine1:(NSString*)line; -- (void)setTextualBoxLine2:(NSString*)line; -- (void)setTextualBoxLine3:(NSString*)line; -- (void)setTextualBoxLine4:(NSString*)line; -- (void)setTextualBoxLine5:(NSString*)line; - -- (NSTimeInterval)groupID; -- (void)setGroupID:(NSTimeInterval)timestamp; - -- (NSPoint) lowerRightPoint; - -- (void)setIsLayerOpacityConstant:(BOOL)boo; -- (void)setCanColorizeLayer:(BOOL)boo; - -- (BOOL)setDisplayTextualData:(BOOL)boo; - -- (NSPoint)clickPoint; - -@end diff --git a/SSH/OsiriX Headers/ViewerController.h b/SSH/OsiriX Headers/ViewerController.h deleted file mode 100755 index 545465c..0000000 --- a/SSH/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,708 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSButton *blendingTypeRed, *blendingTypeGreen, *blendingTypeBlue; - IBOutlet NSPopUpButton *blendingPlugins; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies; - - float resampleRatio; - - NSRect savedWindowsFrame; -} - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -//JF20070103 -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBOutlet)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void)createDCMViewMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; - -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - - -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/SSH/OsiriX Headers/browserController.h b/SSH/OsiriX Headers/browserController.h deleted file mode 100755 index 20b1060..0000000 --- a/SSH/OsiriX Headers/browserController.h +++ /dev/null @@ -1,298 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; - - - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; - -@interface BrowserController : NSWindowController//NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *files2Send, *sendQueue; - id destinationServer; - - NSMutableArray *previewPix; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - QueryController * queryController; - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - IBOutlet NSSplitView *logViewSplit; - - BOOL setDCMDone, mountedVolume; - - volatile BOOL shouldDie, threadRunning, threadWillRunning, bonjourDownloading; - - NSArray *outlineViewArray; - NSArray *matrixViewArray; - NSArray *allColumns; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - IBOutlet NSMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSProgressIndicator *working; - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - - IBOutlet PreviewView *imageView; - IBOutlet NSWindow *serverWindow; - IBOutlet NSTextField *noImages; - IBOutlet NSComboBox *serverList; - IBOutlet NSPopUpButton *syntaxListOsiriX, *syntaxListOffis; - IBOutlet NSMatrix *DICOMSendTool; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSTableView *sendLogTable; -// IBOutlet NSTableView *receiveLogTable; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSMatrix *keyImageMatrix; - -// IBOutlet NSTextField *pNo, *pSize, *pLoc; -// IBOutlet NSButton *showAll; - -// IBOutlet NSWindow *window; - - BOOL showAllImages, DatabaseIsEdited; - NSConditionLock *queueLock; -} - -+ (BrowserController*) currentBrowser; - -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; - - -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; -- (IBAction) sendiDisk:(id) sender; -- (IBAction) sendiPod:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; --(void) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(void) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (void) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; -- (void)sendDICOMFiles:(NSMutableArray *)files; -- (IBAction) endSelectServer:(id) sender; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOM:(id) sender; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; - -- (void) setupToolbar; - -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; - -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (IBAction)setImageTiling: (id)sender; - -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; - -- (IBAction) opendDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; - -- (void) ReBuildDatabase:(id) sender; -- (long) COLUMN; -- (BOOL) is2DViewer; -- (void) previewSliderAction:(id) sender; -- (void)addHelpMenu; - -- (BOOL) isItCD:(NSArray*) pathFilesComponent; -- (void)setSendMessage:(NSNotification *)note; -- (void)receivedImage:(NSNotification *)note; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects keyImagesOnly:(BOOL)keyImagesOnly SCOnly:(BOOL) SCOnly; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; - - -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (void) addFilesAndFolderToDatabase:(NSArray*) filenames; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -- (void)runSendQueue:(id)object; -- (void)addToQueue:(NSArray *)array; -- (MyOutlineView*) databaseOutline; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; - -- (void)reloadSendLog:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; - - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - --(void) refreshDatabase:(id) sender; - --(void) removeAllMounted; - -//bonjour -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (BOOL) isCurrentDatabaseBonjour; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) currentDatabasePath; -- (void) setBonjourDownloading:(BOOL) v; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) localDatabasePath; -- (NSString*) askPassword; -- (NSString*) bonjourPassword; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectory; - -@end diff --git a/SSH/OsiriX Headers/dicomFile.h b/SSH/OsiriX Headers/dicomFile.h deleted file mode 100755 index eacd3fe..0000000 --- a/SSH/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - - - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; - -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; -+ (BOOL) isFVTiffFile:(NSString *) file; -+ (BOOL) isNIfTIFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; -+ (BOOL) isXMLDescriptedFile:(NSString *) file; -+ (BOOL) isXMLDescriptorFile:(NSString *) file; -+ (void) setFilesAreFromCDMedia: (BOOL) f; -+ (void) setDefaults; -+ (void) resetDefaults; -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; - -- (long) NoOfFrames; -- (long) getWidth; -- (long) getHeight; -- (long) NoOfSeries; -- (id) init:(NSString*) f; -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; -- (id) initRandom; -- (NSString*) patientUID; -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; -- (short)getPluginFile; -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; - -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; --(short) getDicomFile; --(short) getNIfTI; -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; -- (BOOL)useSeriesDescription; -- (BOOL) noLocalizer; -- (BOOL)combineProjectionSeries; -- (BOOL)combineProjectionSeriesMode; -- (BOOL)checkForLAVIM; -- (BOOL)separateCardiac4D; -- (int)commentsGroup ; -- (int)commentsElement ; -@end - - diff --git a/UpdateDICOMNode/OsiriX Headers/DCMPix.h b/UpdateDICOMNode/OsiriX Headers/DCMPix.h deleted file mode 100644 index bda68d5..0000000 --- a/UpdateDICOMNode/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,628 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; -@class DCMObject; -@class Point3D; - -/** \brief Represents an image for display */ - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; /**< source File */ - BOOL isBonjour; /**< Flag to indicate if file is accessed over Bonour */ - BOOL nonDICOM; /**< Flag to indicate if file is not DICOM */ - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; /**< Core data object for image */ - xNSImage *image; /**< buffer for creating an NSImage */ - short *oImage; /**< short buffer of image Data */ - float *fImage /**< float buffer of image Data */, *fVolImage; /**< float buffer of volume Data */ - char *wImage; /**< ? */ - -//DICOM TAGS - -// orientation - Point3D *origin; - double originX /**< x position of image origin */ , originY /**< y Position of image origin */ , originZ /**< Z position of image origin*/; - double orientation[ 9]; /**< pointer to orientation vectors */ - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSData *transferFunction; - float *transferFunctionPtr; - -/** custom annotations */ - NSMutableDictionary *annotationsDictionary; - NSMutableDictionary *cachedPapyGroups; -} - -@property long frameNo; -@property(setter=setID:) long ID; - -@property float minValueOfSeries, maxValueOfSeries; - -// Dimensions in pixels -@property long pwidth, pheight; - -/** Is it an RGB image (ARGB) or float image? -Note setter is different to not break existing usage. :-( */ -@property(setter=setRGB:) BOOL isRGB; - -/** Pointer to image data */ -@property(setter=setfImage:) float* fImage; - -/** WW & WL */ -@property(readonly) float ww, wl, fullww, fullwl; -@property float savedWW, savedWL; - -@property(readonly) float slope, offset; - -/** X/Y ratio - non-square pixels */ -@property double pixelRatio; - -/** pixel size */ -@property double pixelSpacingX, pixelSpacingY; - -/** Slice orientation */ -- (void)orientation:(float*) c; -- (void)setOrientation:(float*) c; - -- (void)orientationDouble:(double*) c; -- (void)setOrientationDouble:(double*) c; - -/** Slice location */ -@property(readonly) double originX, originY, originZ; - -- (void)setOrigin :(float*) o; -- (void)setOriginDouble :(double*) o; - -/** Axial Location */ -@property double sliceLocation; -/** Slice Thickness */ -@property double sliceThickness; -/** Slice Interval */ -@property double sliceInterval; -/** Gap between slices */ -@property(readonly) double spacingBetweenSlices; - -/** 8-bit TransferFunction */ -@property(retain) NSData *transferFunction; - -@property NSPoint subPixOffset; - -@property long DCMPixShutterRectWidth, DCMPixShutterRectHeight; -@property long DCMPixShutterRectOriginX, DCMPixShutterRectOriginY; - -@property(retain) NSString *repetitiontime, *echotime; -@property(readonly) NSString *flipAngle, *laterality; - -@property(readonly) NSString *protocolName; -@property(readonly) NSString *viewPosition; -@property(readonly) NSString *patientPosition; - -@property char* baseAddr; - -@property long rowBytes; -@property(readonly) long serieNo; - -@property(getter=Tot, setter=setTot:) long Tot; - -@property(readonly) short stack, stackMode; -@property(readonly) BOOL generated; -@property(retain) NSString *sourceFile; - -/** Database links */ -@property(readonly) NSManagedObject *imageObj, *seriesObj; -@property(readonly) NSString *srcFile; -@property(readonly) NSMutableDictionary *annotationsDictionary; - -// Properties (aka accessors) needed for SUV calculations -@property(readonly) float philipsFactor; -@property float patientsWeight; -@property float halflife; -@property float radionuclideTotalDose; -@property float radionuclideTotalDoseCorrected; -@property(retain) NSCalendarDate *acquisitionTime; -@property(retain) NSCalendarDate *radiopharmaceuticalStartTime; -@property BOOL SUVConverted; -@property(readonly) BOOL hasSUV; -@property float decayFactor; -@property(retain) NSString *units, *decayCorrection; -@property BOOL displaySUVValue; - -- (void) copySUVfrom: (DCMPix*) from; /**< Copy the SUV from another DCMPic */ -- (float) getPixelValueX: (long) x Y:(long) y; /**< Get the pixel for a point with x,y coordinates */ - -- (void) checkSUV; /**< Makes sure all the necessary values for SUV calculation are present */ - -+ (void) checkUserDefaults: (BOOL) update; /**< Check User Default for needed setting */ -+ (void) resetUserDefaults; /**< Reset the defaults */ - /** Determine if a point is inside a polygon - * @param x is the NSPoint to check. - * @param poly is a pointer to an array of NSPoints. - * @param count is the number of - * points in the polygon. -*/ -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - - -- (void) changeWLWW:(float)newWL :(float)newWW; /**< Change window level to window width to the new values */ -- (void) computePixMinPixMax; /**< Compute the min and max values in the image */ - -// Compute ROI data -/** Calculates the cofactor used Calcium scoring. -* Depends on the threshold used for scoring -* Threshold is usually 90 or 120 depending on whether the source is -* Electron Beam or Multislice CT -*/ -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; - -/** returns calculated values for ROI: -* mean, total, deviation, min, max -*/ -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -/** Not sure when this is used rather than computeROI: */ -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack -* @param stackNo -* @param restore -* @param addition -*/ -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack ? -* @param stackNo -* @param restore -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientation -* @param stackNo -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; - -/** Fill a ROI with a value. -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside If YES replace outside the ROI -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi size:(NSSize*) size origin:(NSPoint*) origin; /**< Map from Polygon ROI */ - -/** Is this Point (pt) in this ROI ? */ -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -* using current slice location and orientation -*/ --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords double d[3] (in mm) -* using current slice location and orientation -*/ --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - -/** convert DICOM coordinated to slice coordinates */ --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; - -/** convert DICOM coordinated to slice coordinates */ --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - - -/** Return index & sliceCoords */ -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; - - - -- (BOOL) thickSlabVRActivated; /**< Activate Thick Slab VR */ - -/** convert to Black and White. -* @param mode values: 0 Use Red Channel, 1 use Green Channel 2 use Blue Channel 3 Merge and use RGB -*/ -- (void) ConvertToBW:(long) mode; - -/** convert to RGB. -* @param mode values: 0 create Red Channel, 1 create Green Channel 2 create Blue Channel 3 create all channels -* @param cwl = window level to use -* @param cww = window width to use -*/ -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; - -- (float) cineRate; /**< Returns the Cine rate */ - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -//- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; /**< Returns an Empty object */ -- (short*) kernel; -- (short) normalization; -- (short) kernelsize; - -/** calls -* myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO -* with hello = NO and iO = 0L -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; - -/** Initialize -* doesn't load pix data, only initializes instance variables -* @param s filename -* @param pos imageID Position in array. -* @param tot imTot Total number of images. -* @param ptr pointer to volume -* @param f frame number -* @param ss series number -* @param hello flag to indicate remote bonjour file -* @param iO coreData image Entity for image -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; - -/** init with data pointer -* @param im pointer to image data -* @param pixelSize pixelDepth in bits -* @param xDim image width -* @param yDim =image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; - -/** init with data pointer -* @param im = pointer to image data -* @param pixelSize = pixelDepth in bits -* @param xDim image width -* @param yDim image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -* @param volSize ? -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (id) initWithImageObj: (NSManagedObject *)entity; -- (id) initWithContentsOfFile: (NSString *)file; -/** create an NSImage from the current pix -* @param smallIcon thumbnail size -* @param newWW window width to use -* @param newWL window level to use; -*/ -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; - -/** create an NSImage from the current pix using the current ww/wl. Full size*/ -- (NSImage*) image; - -/** reeturns the current image. returns nil if no image has be previously created */ -- (NSImage*) getImage; - -/** A pointer to the orientation. 9 values in length. 3 for each axis. */ -- (void) orientation:(float*) c; - -/** Sets the orientation. 9 values in length. 3 for each axis. */ -- (void) setOrientation:(float*) c; - -/** A short pointer to the image data */ -- (short*) oImage; - -/** Releases the current NSImage */ -- (void) kill8bitsImage; - - -/** if no image. Creates one using -* computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL -*/ -- (void) checkImageAvailble:(float)newWW :(float)newWL; - -/** Load the DICOM image using the DCMFramework. -* There should be no reason to call this. The class will call it when needed. */ -- (BOOL)loadDICOMDCMFramework; - -/** Load the DICOM image using Papyrus. -* There should be no reason to call this. The class will call it when needed. -*/ -- (BOOL) loadDICOMPapyrus; - -/** Reset the Annotations */ -- (void) reloadAnnotations; - - -/** Parses the file. Extracts necessary data. Load image data. -* This class will be called by the class when necessay. -* There should be no need to call it externally -*/ -- (void) CheckLoadIn; - -/** Calls CheckLoadIn when needed */ -- (void) CheckLoad; - -/** Compute the float pointer for the image data */ -- (float*) computefImage; - -/** Sets fusion paramaters -* @param m stack mode -* @param s stack -* @param direction stack direction -*/ --(void) setFusion:(short) m :(short) s :(short) direction; - -/** Sets updateToBeApplied to YES. It is called whenver a setting has been changed. -* Should be called by the class automatically when needed */ --(void) setUpdateToApply; - - -/** Releases the fImage and sets all values to nil. */ -- (void)revert; - -/** finds the min and max pixel values. -* Sets the appropriate values for fullWW and fullWL -*/ -- (void) computePixMinPixMax; - -/** Sets the ThickSlabController */ -- (void) setThickSlabController:( ThickSlabController*) ts; - - -/** Sets the fixed8bitsWLWW flag */ -- (void) setFixed8bitsWLWW:(BOOL) f; - -/** Creates a DCMPix with the original values and places it in the restore cache*/ -- (void) prepareRestore; - - -/** Releases the restored DCMPix from the restoreCache */ -- (void) freeRestore; - -/** Sets flag for when OsiriX is running in protected mode */ -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; - -/** Returns flag for protected mode */ -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -/** Clears the papyrus group cache */ -- (void) clearCachedPapyGroups; - -/** Returns a pointer the the papyrus group -* @param group group -* @param fileNb papyrus file -*/ -- (void *) getPapyGroup: (int)group fileNb: (int)fileNb; - -/** create ROIs from RTSTRUCT */ -- (void)createROIsFromRTSTRUCT: (DCMObject*)dcmObject; - -#ifdef OSIRIX_VIEWER - -/** Custom Annotations */ -- (void)loadCustomImageAnnotationsPapyLink:(int)fileNb DCMLink:(DCMObject*)dcmObject; - - -/** Set flag to anonymize the annotations */ -+ (BOOL) setAnonymizedAnnotations: (BOOL) v; -#endif - -@end diff --git a/UpdateDICOMNode/OsiriX Headers/DCMView.h b/UpdateDICOMNode/OsiriX Headers/DCMView.h deleted file mode 100644 index 579ca28..0000000 --- a/UpdateDICOMNode/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,451 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - -typedef enum {DCMViewTextAlignLeft, DCMViewTextAlignCenter, DCMViewTextAlignRight} DCMViewTextAlign; - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -/** \brief Image/Frame View for ViewerController */ - -@interface DCMView: NSOpenGLView -{ - NSInteger _imageRows; - NSInteger _imageColumns; - NSInteger _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], opaqueTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - float sliceVector[ 3], slicePoint[ 3], slicePointO[ 3], slicePointI[ 3]; - float sliceVector2[ 3], slicePoint2[ 3], slicePointO2[ 3], slicePointI2[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - NSTimer *mouseModifiers; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight, currentMouseEventTool; - - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - NSSize scaleStart, scaleInit; - - double resizeTotal; - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; - long textureY, blendingTextureY; - GLuint * pTextureName; - GLuint * blendingTextureName; - long textureWidth, blendingTextureWidth; - long textureHeight, blendingTextureHeight; - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - BOOL cursorSet; - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSTimer *_rightMouseDownTimer; //Checking For Right hold - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged, needToLoadTexture; - - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - NSDictionary *_hotKeyDictionary; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible, updateNotificationRunning; - - char *resampledBaseAddr, *blendingResampledBaseAddr; - char *resampledTempAddr; - BOOL zoomIsSoftwareInterpolated; - - int resampledBaseAddrSize, blendingResampledBaseAddrSize; - - // iChat - float iChatWidth, iChatHeight; - unsigned char* iChatCursorTextureBuffer; - GLuint iChatCursorTextureName; - NSSize iChatCursorImageSize; - NSPoint iChatCursorHotSpot; - - GLuint iChatFontListGL; - NSFont *iChatFontGL; - long iChatFontListGLSize[ 256]; - NSMutableDictionary *iChatStringTextureCache; - NSSize iChatStringSize; - NSRect drawingFrameRect; -} - -@property(readonly) NSRect drawingFrameRect; -@property(readonly) NSMutableArray *rectArray; -@property BOOL flippedData; -@property(readonly) NSMutableArray *dcmPixList, *dcmRoiList; -@property(readonly) NSArray *dcmFilesList; -@property long syncSeriesIndex; -@property float syncRelativeDiff; -@property NSPoint cross; -@property NSPoint crossPrev; -@property float slab; -@property long blendingMode; -@property(retain,setter=setBlending:) DCMView *blendingView; -@property(readonly) float blendingFactor; -@property BOOL xFlipped, yFlipped; -@property(retain) NSString *stringID; -@property(readonly) float angle; -@property short currentTool; -@property(setter=setRightTool:) short currentToolRight; -@property(readonly) short curImage; -@property(retain) NSMatrix *theMatrix; -@property(readonly) BOOL suppressLabels; -@property float scaleValue, rotation; -@property NSPoint origin, originOffset; -@property(readonly) double pixelSpacing, pixelSpacingX, pixelSpacingY; -@property(readonly) DCMPix *curDCM; -@property(readonly) float mouseXPos, mouseYPos; -@property(readonly) float contextualMenuInWindowPosX, contextualMenuInWindowPosY; -@property(readonly) GLuint fontListGL; -@property(readonly) NSFont *fontGL; -@property NSInteger tag; -@property(readonly) float curWW, curWL; -@property NSInteger rows, columns; -@property(readonly) NSCursor *cursor; -@property BOOL eraserFlag; -@property BOOL drawing; -@property BOOL volumicSeries; -@property(readonly) BOOL isKeyView; - -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (void) gClickCountSetReset; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels :(BOOL) allTiles; -- (unsigned char*) getRawPixelsView:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT textureWidth: (long*) tW textureHeight:(long*) tH resampledBaseAddr:(char**) rAddr resampledBaseAddrSize:(int*) rBAddrSize; -- (short)syncro; -- (void)setSyncro:(short) s; - -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (void) sendSyncMessage:(short) inc; -- (void) loadTextures; -- (void)loadTexturesCompute; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (NSPoint) rotatePoint:(NSPoint) a; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginX:(float) x Y:(float) y; -- (void) setOriginOffset:(NSPoint) x; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) sync:(NSNotification*)note; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (BOOL)checkHasChanged; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY :(long) tW :(long) tH; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawNSStringGL:(NSString*)str :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawCStringGL:(char*)cstrOut :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) drawImage:(NSImage *)image inBounds:(NSRect)rect; -- (void) setScaleValueCentered:(float) x; -- (void) updateCurrentImage: (NSNotification*) note; -- (void) setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void) updateTilingViews; -- (void) becomeMainWindow; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void) updatePresentationStateFromSeries; -- (void) updatePresentationStateFromSeriesOnlyImageLevel: (BOOL) onlyImage; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) updateImage; -- (BOOL) shouldPropagate; -- (NSPoint) convertFromView2iChat: (NSPoint) a; -- (void) annotMenu:(id) sender; -- (float) MPRAngle; - -// methods to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; -- (void) roiLoadFromFilesArray: (NSArray*) filenames; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -@end diff --git a/UpdateDICOMNode/OsiriX Headers/MyPoint.h b/UpdateDICOMNode/OsiriX Headers/MyPoint.h deleted file mode 100644 index f71cdb3..0000000 --- a/UpdateDICOMNode/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Wrapper for NSPoint */ - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/UpdateDICOMNode/OsiriX Headers/OSIWindowController.h b/UpdateDICOMNode/OsiriX Headers/OSIWindowController.h deleted file mode 100644 index 3a29fe2..0000000 --- a/UpdateDICOMNode/OsiriX Headers/OSIWindowController.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// OSIWindowController.h -// OsiriX -// -// Created by Lance Pysher on 12/11/06. -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief base class for Window Controllers in OsiriX -* -*Root class for the Viewer Window Controllers such as ViewerController -*and Window3DController -*/ - -#import - - -enum OsiriXBlendingTypes {BlendingPlugin = -1, BlendingFusion = 1, BlendingSubtraction, BlendingMultiplication, BlendingRed, BlendingGreen, BlendingBlue, Blending2DRegistration, Blending3DRegistration, BlendingLL}; - - -@interface OSIWindowController : NSWindowController { - int _blendingType; -} - -- (NSMutableArray*) pixList; -- (void)windowWillClose:(NSNotification *)notification; -- (void) addToUndoQueue:(NSString*) what; -- (int)blendingType; - -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; - -- (void) applyShading:(id) sender; - -#pragma mark- -#pragma mark current Core Data Objects -- (NSManagedObject *)currentStudy; -- (NSManagedObject *)currentSeries; -- (NSManagedObject *)currentImage; - -- (float)curWW; -- (float)curWL; -@end diff --git a/UpdateDICOMNode/OsiriX Headers/PluginFilter.h b/UpdateDICOMNode/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 307d2d8..0000000 --- a/UpdateDICOMNode/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,77 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - - -/** \brief Base class for plugins */ -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -/** This function is called to apply your plugin */ -- (long) filterImage: (NSString*) menuName; - -/** This function is the entry point of Pre-Process plugins */ -- (long) processFiles: (NSArray*) files; - -/** This function is the entry point of Report plugins -* action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -* action = @"deleteReport" -> return 0L, delete the report -* action = @"openReport" -> return 0L, open and display the report, create a new one if no report available -*/ -- (id) report: (NSManagedObject*) study action:(NSString*) action; - - - -/** This function is called at the OsiriX startup, if you need to do some memory allocation, etc. */ -- (void) initPlugin; - -/** Opportunity for plugins to make Menu changes if necessary */ - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -/** Return the complete lists of opened studies in OsiriX */ -/** NSArray contains an array of ViewerController objects */ -- (NSArray*) viewerControllersList; - -/** Create a new 2D window, containing a copy of the current series */ -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. -/** Stub is to be subclassed by report filters */ -- (id)reportDateForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)deleteReportForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)createReportForStudy: (NSManagedObject*)study; - -/** PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY */ -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/UpdateDICOMNode/OsiriX Headers/ROI.h b/UpdateDICOMNode/OsiriX Headers/ROI.h deleted file mode 100644 index f484529..0000000 --- a/UpdateDICOMNode/OsiriX Headers/ROI.h +++ /dev/null @@ -1,241 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" - -#import - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -/** \brief ROI */ - -@interface ROI : NSObject -{ - NSLock *roiLock; - - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - - NSMutableArray *ctxArray; //All contexts where this texture is used - NSMutableArray *textArray; //All texture id - - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - double _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer, canResizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -@property(readonly) int textureWidth, textureHeight; -@property(readonly) int textureDownRightCornerX,textureDownRightCornerY, textureUpLeftCornerX, textureUpLeftCornerY; -@property(readonly) unsigned char *textureBuffer; -@property float opacity; -@property(retain) NSString *name, *comments; -@property(readonly) long type; -@property(setter=setROIMode:) long ROImode; -@property(retain) NSMutableArray *points; // Return/set the points state of the ROI -@property(readonly) NSMutableArray *zPositions; -@property(readonly) BOOL clickInTextBox; -@property(setter=setROIRect:) NSRect rect; // To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -@property(retain) DCMPix *pix; // The DCMPix associated to this ROI -@property(readonly) DCMView *curView; // The DCMView associated to this ROI -@property float mousePosMeasure; -@property(readonly) NSData *data; -@property(setter=setColor:) RGBColor rgbcolor; -@property float thickness; -@property(retain) ROI *parentROI; -@property double sliceThickness; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -@property(retain) NSString *defaultName; - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; - -- (void)displayTexture; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; -- (float) Length:(NSPoint) mesureA :(NSPoint) mesureB; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (BOOL) deleteSelectedPoint; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -- (void) deleteTexture:(NSOpenGLContext*) c; - -- (void)setCanResizeLayer:(BOOL)boo; - - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; - -@property BOOL displayCalciumScoring; -@property int calciumThreshold; - -@property(retain) NSString *layerReferenceFilePath; -@property(retain) NSImage *layerImage; -@property float layerPixelSpacingX, layerPixelSpacingY; - -- (GLuint)loadLayerImageTexture; -- (void)generateEncodedLayerImage; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -@property(retain) NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; -@property NSTimeInterval groupID; - -- (NSPoint) lowerRightPoint; - -@property BOOL isLayerOpacityConstant; -@property BOOL canColorizeLayer; -@property BOOL displayTextualData; -@property(readonly) NSPoint clickPoint; - -@end diff --git a/UpdateDICOMNode/OsiriX Headers/Schedulable.h b/UpdateDICOMNode/OsiriX Headers/Schedulable.h deleted file mode 100644 index 6a05f3e..0000000 --- a/UpdateDICOMNode/OsiriX Headers/Schedulable.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Protocol for multithreading scheduling*/ -@protocol Schedulable --(void)performWorkUnits:(NSSet *)workUnits forScheduler:(Scheduler *)scheduler; -@end \ No newline at end of file diff --git a/UpdateDICOMNode/OsiriX Headers/Scheduler.h b/UpdateDICOMNode/OsiriX Headers/Scheduler.h deleted file mode 100644 index 0359200..0000000 --- a/UpdateDICOMNode/OsiriX Headers/Scheduler.h +++ /dev/null @@ -1,68 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@protocol Schedulable; - -/** \brief Does multithreading scheduling*/ -@interface Scheduler : NSObject { - @private - id _delegate; // Delegate - id _schedulableObject; // Object which has work units to be scheduled - NSMutableSet *_workUnitsRemaining; // Work units not yet performed in schedule - NSLock *_remainingUnitsLock; // Lock to keep the remaining work units set consistent - BOOL _scheduleWasCancelled; // Flag set when schedule is cancelled - unsigned _numberOfThreads; // Number of simultaneous threads used to perform work - unsigned _numberOfDetachedThreads; // The current number of worker threads detached. -} - --(id)initForSchedulableObject:(id )schedObj andNumberOfThreads:(unsigned)numThreads; --(id)initForSchedulableObject:(id )schedObj; --(void)dealloc; - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(void)cancelSchedule; - -// Template method. Overload in subclasses --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -// Accessors --(unsigned)numberOfThreads; --(unsigned) numberOfDetachedThreads; - --(id)delegate; --(void)setDelegate:(id)delegate; - --(id )schedulableObject; - --(NSMutableSet *)_workUnitsRemaining; - -@end - -@interface Scheduler (SchedulerDelegateMethods) - -// Sent in the main thread --(void)schedulerWillBeginSchedule:(Scheduler *)sender; - -// The following are sent in the worker thread --(BOOL)scheduler:(Scheduler *)scheduler shouldBeginUnits:(NSSet *)units; --(void)scheduler:(Scheduler *)scheduler didCompleteUnits:(NSSet *)units; - -// Sent in the main thread --(void)schedulerDidCancelSchedule:(Scheduler *)scheduler; --(void)schedulerDidFinishSchedule:(Scheduler *)scheduler; - -@end \ No newline at end of file diff --git a/UpdateDICOMNode/OsiriX Headers/StaticScheduler.h b/UpdateDICOMNode/OsiriX Headers/StaticScheduler.h deleted file mode 100644 index b6724cd..0000000 --- a/UpdateDICOMNode/OsiriX Headers/StaticScheduler.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Static multithreaded Scheduler */ -@interface StaticScheduler : Scheduler { - @private - int _numberOfThreadsLeft; // Used to keep track of how many threads already have work -} - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -@end \ No newline at end of file diff --git a/UpdateDICOMNode/OsiriX Headers/ViewerController.h b/UpdateDICOMNode/OsiriX Headers/ViewerController.h deleted file mode 100644 index 58519c0..0000000 --- a/UpdateDICOMNode/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,737 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -/** \brief Window Controller for 2D Viewer*/ - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSSegmentedControl *blendingTypeRGB; - IBOutlet NSPopUpButton *blendingPlugins; - IBOutlet NSButton *blendingResample; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - IBOutlet NSButton *imageAllViewers; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies, titledGantry, updateTilingViews; - - float resampleRatio; - - NSRect savedWindowsFrame; - - ViewerController *registeredViewer; - - NSMutableArray *retainedToolbarItems; -} - -@property(readonly) short currentOrientationTool; - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) ApplyOpacityString:(NSString*) str; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (long) imageIndex; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (BOOL) updateTilingViewsValue; -- (void) setUpdateTilingViewsValue:(BOOL) v; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction) updateZVector:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor movieIndex:(int) j; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -- (void) displayWarningIfGantryTitled; -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBOutlet)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (NSString*) curOpacityMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (void) selectFirstTilingView; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (IBAction) saveWindowsState:(id) sender; -- (IBAction) loadWindowsState:(id) sender; -- (IBAction) resetWindowsState:(id) sender; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (void) executeRevert; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void)setOrientationToolFrom2DMPR:(id)sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; -- (ViewerController*) registeredViewer; -- (void) setRegisteredViewer: (ViewerController*) viewer; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; -- (void) refreshToolbar; -- (void) reloadAnnotations; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; -- (ViewerController*) resampleSeries:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (void)setOrigin:(NSPoint) o; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; -- (IBAction)setImageTiling: (id)sender; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - -- (void) turnOffSyncSeriesBetweenStudies:(id) sender; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/UpdateDICOMNode/OsiriX Headers/browserController.h b/UpdateDICOMNode/OsiriX Headers/browserController.h deleted file mode 100644 index f9ef263..0000000 --- a/UpdateDICOMNode/OsiriX Headers/browserController.h +++ /dev/null @@ -1,502 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class LogWindowController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; -@class StructuredReportController; -@class BrowserMatrix; - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; -enum dbObjectSelection {oAny,oMiddle,oFirstForFirst}; - -/** \brief Window controller for Browser -* -* This is a large class with a lot of functions. -* Along with managing the Browser Window it manages all the view in the browser -* and manges the database -*/ - -@interface BrowserController : NSWindowController //NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - NSPersistentStoreCoordinator *persistentStoreCoordinator; - - NSDateFormatter *DateTimeFormat, *DateOfBirthFormat, *TimeFormat, *TimeWithSecondsFormat, *DateTimeWithSecondsFormat; - - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *sendQueue; - NSMutableDictionary *bonjourReportFilesToCheck; - - NSMutableArray *previewPix, *previewPixThumbnails; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - LogWindowController *logWindowController; - - NSNumberFormatter *numFmt; - -// NSData *notFoundDataThumbnail; - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer, *bonjourTimer, *deleteQueueTimer, *autoroutingQueueTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long previousBonjourIndex; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - - BOOL setDCMDone, mountedVolume, needDBRefresh, dontLoadSelectionSource; - - NSMutableArray *albumNoOfStudiesCache; - - volatile BOOL shouldDie, bonjourDownloading; - - NSArray *outlineViewArray, *originalOutlineViewArray; - NSArray *matrixViewArray; - - NSString *_searchString; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - NSMenu *columnsMenu; - IBOutlet BrowserMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - IBOutlet PreviewView *imageView; - - int subFrom, subTo, subInterval, subMax; - - IBOutlet NSWindow *subOpenWindow; - IBOutlet NSMatrix *subOpenMatrix3D, *subOpenMatrix4D, *supOpenButtons; - - IBOutlet NSWindow *subSeriesWindow; - IBOutlet NSButton *subSeriesOKButton; - IBOutlet NSTextField *memoryMessage; - IBOutlet NSBox *enoughMem, *notEnoughMem; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - IBOutlet NSPredicateEditor *editSmartAlbumPredicate; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *rebuildWindow; - IBOutlet NSMatrix *rebuildType; - IBOutlet NSTextField *estimatedTime, *noOfFilesToRebuild, *warning; - - IBOutlet NSPopUpButton *timeIntervalPopup; - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSView *exportQuicktimeView; - IBOutlet NSButton *exportHTMLButton; - - IBOutlet NSView *exportAccessoryView; - IBOutlet NSButton *addDICOMDIRButton; - IBOutlet NSMatrix *compressionMatrix; - IBOutlet NSMatrix *folderTree; - - NSRecursiveLock *checkIncomingLock; - NSLock *checkBonjourUpToDateThreadLock; - NSTimeInterval lastSaved; - - BOOL showAllImages, DatabaseIsEdited, isNetworkLogsActive, displayEmptyDatabase; - NSConditionLock *queueLock; - - IBOutlet NSScrollView *thumbnailsScrollView; - - NSPredicate *_fetchPredicate; - NSPredicate *_filterPredicate; - NSString *_filterPredicateDescription; - - NSString *fixedDocumentsDirectory; - - char cfixedDocumentsDirectory[ 1024]; - - NSTimeInterval databaseLastModification; - - StructuredReportController *structuredReportController; - - NSMutableArray *deleteQueueArray; - NSLock *deleteQueue, *deleteInProgress; - - NSMutableArray *autoroutingQueueArray; - NSLock *autoroutingQueue, *autoroutingInProgress, *matrixLoadIconsLock; - - NSConditionLock *processorsLock; - NSLock *decompressArrayLock, *decompressThreadRunning; - NSMutableArray *decompressArray; - - NSMutableString *pressedKeys; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *newFilesConditionLock; - NSMutableArray *viewersListToReload, *viewersListToRebuild; - - NSImage *notFoundImage; - - volatile BOOL newFilesInIncoming; - NSImage *standardOsiriXIcon; - NSImage *downloadingOsiriXIcon; - NSImage *currentIcon; - - BOOL rtstructProgressBar; // make visible - float rtstructProgressPercent; - - int DicomDirScanDepth; -} - -@property(readonly) NSDateFormatter *DateTimeFormat; -@property(readonly) NSDateFormatter *DateOfBirthFormat; -@property(readonly) NSDateFormatter *TimeFormat; -@property(readonly) NSDateFormatter *TimeWithSecondsFormat; -@property(readonly) NSDateFormatter *DateTimeWithSecondsFormat; - -@property(readonly) NSArray *matrixViewArray; -@property(readonly) NSMatrix *oMatrix; -@property(readonly) long COLUMN; -@property(readonly) BOOL is2DViewer; -@property(readonly) MyOutlineView *databaseOutline; -@property(readonly) NSTableView *albumTable; -@property(readonly) BOOL isCurrentDatabaseBonjour; -@property(readonly) NSString *currentDatabasePath; -@property(readonly) NSString *localDatabasePath; -@property(readonly) NSString *bonjourPassword; -@property(readonly) long currentBonjourService; - -@property volatile BOOL bonjourDownloading; -@property(readonly) NSBox *bonjourSourcesBox; -@property(readonly) NSTextField *bonjourServiceName; -@property(readonly) NSTextField *bonjourPasswordTextField; -@property(readonly) NSButton *bonjourSharingCheck; -@property(readonly) NSButton *bonjourPasswordCheck; -@property(readonly) BonjourBrowser *bonjourBrowser; - -@property(readonly) NSString *documentsDirectory; -@property(readonly) NSString *fixedDocumentsDirectory; -@property(readonly) char *cfixedDocumentsDirectory; - -@property(retain) NSString *searchString; -@property(retain) NSPredicate *fetchPredicate; -@property(readonly) NSPredicate *filterPredicate; -@property(readonly) NSString *filterPredicateDescription; - -@property BOOL rtstructProgressBar; -@property float rtstructProgressPercent; - -+ (BrowserController*) currentBrowser; -+ (void) replaceNotAdmitted:(NSMutableString*) name; -+ (NSArray*) statesArray; -+ (void) updateActivity; -+ (NSData*) produceJPEGThumbnail:(NSImage*) image; -- (IBAction) createDatabaseFolder:(id) sender; -- (void) openDatabasePath: (NSString*) path; -- (BOOL) shouldTerminate: (id) sender; -- (void) databaseOpenStudy: (NSManagedObject*) item; -- (IBAction) databaseDoublePressed:(id)sender; -- (void) setDBDate; -- (void) setDockIcon; -- (void) showEntireDatabase; -- (IBAction) querySelectedStudy:(id) sender; -- (NSPredicate*) smartAlbumPredicate:(NSManagedObject*) album; -- (NSPredicate*) smartAlbumPredicateString:(NSString*) string; -- (void) emptyDeleteQueueThread; -- (void) emptyDeleteQueue:(id) sender; -- (void) addFileToDeleteQueue:(NSString*) file; -- (NSString*) getNewFileDatabasePath: (NSString*) extension; -- (NSString*) getNewFileDatabasePath: (NSString*) extension dbFolder: (NSString*) dbFolder; -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject; -- (NSArray*) imagesArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject onlyImages:(BOOL) onlyImages; -- (NSManagedObjectContext *) managedObjectContextLoadIfNecessary:(BOOL) loadIfNecessary; -- (void) setNetworkLogs; -- (BOOL) isNetworkLogsActive; -- (NSTimeInterval) databaseLastModification; -- (IBAction) matrixDoublePressed:(id)sender; -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand extendingSelection: (BOOL) extendingSelection; -- (IBAction) sendiDisk:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; -- (long) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput async: (BOOL) async; --(ViewerController*) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (ViewerController*) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; --(void) exportQuicktimeInt:(NSArray*) dicomFiles2Export :(NSString*) path :(BOOL) html; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer tileWindows: (BOOL) tileWindows; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; -- (NSArray*) exportDICOMFileInt:(NSString*) location files:(NSArray*) filesToExport objects:(NSArray*) dicomFiles2Export; - -- (void) setupToolbar; - -- (NSString*) getDatabaseFolderFor: (NSString*) path; -- (NSString*) getDatabaseIndexFileFor: (NSString*) path; - -- (void) setCurrentBonjourService:(int) index; -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; -- (IBAction) selectAll3DSeries:(id) sender; -- (IBAction) selectAll4DSeries:(id) sender; -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void)newViewerDICOM:(id) sender; -- (void) viewerDICOMKeyImages:(id) sender; -- (void) viewerDICOMMergeSelection:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (void) setDraggedItems:(NSArray*) pbItems; -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; -- (IBAction) openDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; - -- (IBAction) endReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabaseSheet: (id)sender; -- (void) previewSliderAction:(id) sender; -- (void) addHelpMenu; -- (NSString*) _findFirstDicomdirOnCDMedia: (NSString*)startDirectory found:(BOOL) found; -+ (BOOL)isItCD:(NSString*) path; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; - -- (void) resetListenerTimer; -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (NSArray*) addFilesAndFolderToDatabase:(NSArray*) filenames; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject context: (NSManagedObjectContext*) context dbFolder:(NSString*) dbFolder; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -//- (void)runSendQueue:(id)object; -//- (void)addToQueue:(NSArray *)array; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; -//- (void)reloadSendLog:(id)sender; -- (void) pdfPreview:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; -- (void) refreshSmartAlbums; -- (void) waitForRunningProcesses; - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - -- (void) refreshDatabase:(id) sender; -- (void) syncReportsIfNecessary: (int) index; -- (void) removeAllMounted; - -//bonjour -- (void) getDICOMROIFiles:(NSArray*) files; -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) setBonjourSharingEnabled:(BOOL) boo; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) askPassword; -- (void) resetToLocalDatabase; -- (void) createContextualMenu; -- (void) checkIncomingThread:(id) sender; -- (void) checkIncoming:(id) sender; -- (NSArray*) openSubSeries: (NSArray*) toOpenArray; -- (IBAction) checkMemory:(id) sender; -- (IBAction) buildAllThumbnails:(id) sender; -- (IBAction) mergeStudies:(id) sender; - -// Finding Comparisons -- (NSArray *)relatedStudiesForStudy:(id)study; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectoryFor:(int) mode url:(NSString*) url; -- (NSString *)setFixedDocumentsDirectory; -- (IBAction)showLogWindow: (id)sender; - -- (NSString *)folderPathResolvingAliasAndSymLink:(NSString *)path; - -- (void)setFilterPredicate:(NSPredicate *)predicate description:(NSString*) desc; -- (NSPredicate *)createFilterPredicate; -- (NSString *)createFilterDescription; - -- (IBAction) generateReport: (id) sender; -- (IBAction) deleteReport: (id) sender; -- (IBAction)srReports: (id)sender; - -- (IBAction) rebuildThumbnails:(id) sender; - -- (NSArray *)databaseSelection; - -- (void) newFilesGUIUpdateRun:(int) state; -- (void) newFilesGUIUpdate:(id) sender; - -- (IBAction) decompressSelectedFiles:(id) sender; -- (IBAction) compressSelectedFiles:(id) sender; -- (void) decompressArrayOfFiles: (NSArray*) array work:(NSNumber*) work; -- (void) decompressThread: (NSNumber*) typeOfWork; - --(void) compressDICOMJPEG:(NSString*) compressedPath; --(void) decompressDICOMJPEG:(NSString*) compressedPath; - -- (void) refreshMatrix:(id) sender; -- (void)updateReportToolbarIcon:(NSNotification *)note; - -- (void) initAnimationSlider; - -+ (NSString*) DateTimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) TimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) DateOfBirthFormat:(NSDate*) d; -+ (NSString*) DateTimeFormat:(NSDate*) d; -+ (NSString*) TimeFormat:(NSDate*) t; - -- (int) findObject:(NSString*) request table:(NSString*) table execute: (NSString*) execute elements:(NSString**) elements; - -/******Notifactions posted by browserController*********** -@"NewStudySelectedNotification" with userinfo key @"Selected Study" posted when a newStudy is selected in the browser -@"Close All Viewers" posted when close open windows if option key pressed. -@"DCMImageTilingHasChanged" when image tiling has changed -OsirixAddToDBNotification posted when files are added to the DB -*/ - -@end diff --git a/UpdateDICOMNode/OsiriX Headers/dicomFile.h b/UpdateDICOMNode/OsiriX Headers/dicomFile.h deleted file mode 100644 index 50db680..0000000 --- a/UpdateDICOMNode/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,121 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - -/** \brief Parses files for importing into the database */ - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; /**< Test for TIFF file format */ -+ (BOOL) isFVTiffFile:(NSString *) file; /**< Test for FV TIFF file format */ -+ (BOOL) isNIfTIFile:(NSString *) file; /**< Test for Nifti file format */ -+ (BOOL) isDICOMFile:(NSString *) file; /**< Test for DICOM file format */ -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; /**< Test for DICOM file format, returns YES for compressed BOOL if Transfer syntax is compressed. */ -+ (BOOL) isXMLDescriptedFile:(NSString *) file; /**< Test for XML descripted file format */ -+ (BOOL) isXMLDescriptorFile:(NSString *) file; /**< Test for XML descriptor file format. Fake DICOM for other files with XML descriptor*/ -+ (void) setFilesAreFromCDMedia: (BOOL) f; /**< Set flag for filesAreFromCDMedia */ -+ (void) setDefaults; /**< Set DEFAULTSSET flag to NO */ -+ (void) resetDefaults; /**< Resets to user defaults */ -/** Return string with invalid characters replaced -* replaces @"^" with @" " -* replaces @"/" with @"-" -* replaces @"\r" with @"" -* replaces @"\n" with @"" -* @":" withString:@"-" -* removes empty space at end of strings -*/ -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; /**< Same as NSreplaceBadCharacter, but using char* and encodings */ -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; /**< Convert char* str with NSStringEncoding* encoding to NSString */ -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; /**< Converts NIfTI to XML */ - - -- (long) NoOfFrames; /**< Number of frames in the file */ -- (long) getWidth; /**< Returns image width */ -- (long) getHeight; /**< Return image Height */ -- (long) NoOfSeries; /**< Returns number of seris in the file */ -- (id) init:(NSString*) f; /**< Init with file at location NSString* f */ -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; /**< init with file at location NSString* f DICOM files only if DICOMOnly = YES */ -- (id) initRandom; /**< Inits and returns an empty dicomFile */ -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; /**< Init with XMLDescriptor for information and f for image data */ -- (NSString*) patientUID; /**< Returns the patientUID */ - -/** Returns a dictionary of the elements used to import into the database -* Keys: -* @"studyComment", @"studyID", @"studyDescription", @"studyDate", @"modality", @"patientID", @"patientName", -* @"patientUID", @"fileType", @"commentsAutoFill", @"album", @"SOPClassUID", @"SOPUID", @"institutionName", -* @"referringPhysiciansName", @"performingPhysiciansName", @"accessionNumber", @"patientAge", @"patientBirthDate", -* @"patientSex", @"cardiacTime", @"protocolName", @"sliceLocation", @"imageID", @"seriesNumber", @"seriesDICOMUID", -* @"studyNumber", @"seriesID", @"hasDICOM" -* */ - -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; /**< Returns the dicomElement for the key */ -- (short)getPluginFile; /**< Looks for a plugin to decode the file. If one is found decodes the file */ -/** Parses the fileName to get the Series/Study/Image numbers -* Used for files that don't have the information embedded such as TIFFs and jpegs -* In these cases the files are sorted based on the file name. -* Numbers at the end become the image number. The remainder of the file becomes the Series and Study ID -*/ -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; /**< Decodes the file using the DCM Framework Returns -1 for failure 0 for success*/ - - --(short) getDicomFile; /**< Decode DICOM. Returns -1 for failure 0 for success */ --(short) getNIfTI; /**< Decode NIfTI Returns -1 for failure 0 for success */ - - -/** Returns the COMMENTSAUTOFILL default. -* If Yes, comments will be filled from the DICOM tag commentsGroup/commentsElement -*/ -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; /**< Returns the splitMultiEchoMR default If YES, splits multi echo series into separate series by Echo number. */ -- (BOOL)useSeriesDescription; /**< Returns the useSeriesDescription default. */ -- (BOOL)noLocalizer; /**< Returns the NOLOCALIZER default. */ -- (BOOL)combineProjectionSeries; /**< Returns the combineProjectionSeries default. If YES, combines are projection Modalities: CR, DR into one series. */ -- (BOOL)oneFileOnSeriesForUS; /**< Returns the oneFileOnSeriesForUS default */ -- (BOOL)combineProjectionSeriesMode; /**< Returns the combineProjectionSeriesMode default. */ -- (BOOL)checkForLAVIM; /**< Returns the CHECKFORLAVIM default. */ -- (BOOL)separateCardiac4D; /**< Returns the SEPARATECARDIAC4D default. If YES separates cardiac studies into separate gated series. */ -- (int)commentsGroup; /**< Returns the commentsGroup default. The DICOM group to get comments from. */ -- (int)commentsElement; /**< Returns the commentsGroup default. The DICOM element to get get comments from. */ -@end - - diff --git a/VolumeGenerator/OsiriX Headers/AppController.h b/VolumeGenerator/OsiriX Headers/AppController.h deleted file mode 100644 index 841c7f2..0000000 --- a/VolumeGenerator/OsiriX Headers/AppController.h +++ /dev/null @@ -1,203 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -// This will be added to the main inded page of the Doxygen documentation -/** \mainpage OsiriX index page -* -* \section Intro OsiriX DICOM workstation -* Osirix is a free open source DICOM workstation with full 64 bit support. -* -* We extend out thanks to other in the open source community. -* -* VTK, ITK, and DCMTK open source projects are extensively used in OsiriX. -* -* The OsiriX team. -*/ - - - - -//#if !__LP64__ -#import -//#endif - -#import -#import "XMLRPCMethods.h" -#import "WebServicesMethods.h" - -#import "IChatTheatreDelegate.h" - -@class PreferenceController; -@class BrowserController; -@class SplashScreen; -@class DCMNetServiceDelegate; - -enum -{ - always = 0, - cdOnly = 1, - notMainDrive = 2, - ask = 3 -}; - -static unsigned char *LUT12toRGB; -static BOOL canDisplay12Bit; -static NSInvocation *fill12BitBufferInvocation; -@class PluginFilter; -static PluginFilter *totokuPlugin; - -#ifdef __cplusplus -extern "C" -{ -#endif - NSRect screenFrame(); - NSString * documentsDirectoryFor( int mode, NSString *url); - NSString * documentsDirectory(); -#ifdef __cplusplus -} -#endif - - -/** \brief NSApplication delegate -* -* NSApplication delegate -* Primarily manages the user defaults and server -* Also controls some general main items -* -* -*/ -//#if !__LP64__ -@interface AppController : NSObject -//#else -//@interface AppController : NSObject -//#endif -{ - IBOutlet BrowserController *browserController; - - IBOutlet NSMenu *filtersMenu; - IBOutlet NSMenu *roisMenu; - IBOutlet NSMenu *othersMenu; - IBOutlet NSMenu *dbMenu; - IBOutlet NSWindow *dbWindow; - - NSDictionary *previousDefaults; - - BOOL showRestartNeeded; - - SplashScreen *splashController; - - volatile BOOL quitting; - BOOL verboseUpdateCheck; - NSTask *theTask; - NSNetService *BonjourDICOMService; - - BOOL xFlipped, yFlipped; // Dependent on current DCMView settings. - - NSTimer *updateTimer; - DCMNetServiceDelegate *dicomNetServiceDelegate; - XMLRPCMethods *XMLRPCServer; - WebServicesMethods *webServer; -} - -#pragma mark- -#pragma mark initialization of the main event loop singleton - -+ (void) displayImportantNotice:(id) sender; -+ (id) sharedAppController; /**< Return the shared AppController instance */ -+ (void)checkForPagesTemplate; /**< Check for Pages report template */ -+ (NSString*) currentHostName; /**< Return Network hostname */ -+ (void) resizeWindowWithAnimation:(NSWindow*) window newSize: (NSRect) newWindowFrame; -+ (NSThread*) mainThread; - -#pragma mark- -#pragma mark HTML Templates -+ (void)checkForHTMLTemplates; - - -#pragma mark- -#pragma mark Server management -- (void) terminate :(id) sender; /**< Terminate listener (Q/R SCP) */ -- (void) restartSTORESCP; /**< Restart listener (Q/R SCP) */ -- (void) startSTORESCP:(id) sender; /**< Start listener (Q/R SCP) */ -- (void) startDICOMBonjourSearch; /**< Use Bonjour to search for other DICOM services */ - - - -#pragma mark- -#pragma mark static menu items -//===============OSIRIX======================== -- (IBAction) about:(id)sender; /**< Display the about window */ -- (IBAction) showPreferencePanel:(id)sender; /**< Show Preferences window */ -- (IBAction) checkForUpdates:(id) sender; /**< Check for update */ -//===============WINDOW======================== -- (void) tileWindows:(id)sender; /**< Tile open window */ -- (void) scaleToFit:(id)sender; /**< Scale opened windows */ -- (IBAction) closeAllViewers: (id) sender; /**< Close All Viewers */ -- (void) checkAllWindowsAreVisible:(id) sender; -- (void) checkAllWindowsAreVisible:(id) sender makeKey: (BOOL) makeKey; -//===============HELP========================== -- (IBAction) sendEmail: (id) sender; /**< Send email to lead developer */ -- (IBAction) openOsirixWebPage: (id) sender; /**< Open OsiriX web page */ -- (IBAction) openOsirixDiscussion: (id) sender; /**< Open OsiriX discussion web page */ -- (IBAction) osirix64bit: (id) sender; -//--------------------------------------------- -- (IBAction) help: (id) sender; /**< Open help window */ -//============================================= - -#pragma mark- -#pragma mark window routines -- (IBAction) updateViews:(id) sender; /**< Update Viewers */ -- (NSScreen *)dbScreen; /**< Return monitor with DB */ -- (NSArray *)viewerScreens; /**< Return array of monitors for displaying viewers */ - - /** - * Find the WindowController with the named nib and using the pixList - * This is commonly used to find the 3D Viewer associated with a ViewerController. - * Conversely this could be used to find the ViewerController that created a 3D Viewer - * Each 3D Viewer has its own distinctly named nib as does the ViewerController. - * The pixList is the Array of DCMPix that the viewer uses. It should uniquely identify related viewers -*/ -- (id) FindViewer:(NSString*) nib :(NSMutableArray*) pixList; -- (NSArray*) FindRelatedViewers:(NSMutableArray*) pixList; /**< Return an array of all WindowControllers using the pixList */ -- (IBAction) cancelModal: (id) sender; -- (IBAction) okModal: (id) sender; -- (NSString*) privateIP; -- (void) killDICOMListenerWait:(BOOL) w; -- (BOOL) echoTest; - -#pragma mark- -#pragma mark growl -- (void) growlTitle:(NSString*) title description:(NSString*) description name:(NSString*) name; -- (NSDictionary *) registrationDictionaryForGrowl; - -//#pragma mark- -//#pragma mark display setters and getters -//- (IBAction) saveLayout: (id)sender; - -#pragma mark- -#pragma mark Geneva University Hospital (HUG) specific function -- (void) HUGVerifyComPACSPlugin; -- (void) HUGDisableBonjourFeature; - -#pragma mark- -#pragma mark 12 Bit Display support. -+ (BOOL)canDisplay12Bit; -+ (void)setCanDisplay12Bit:(BOOL)boo; -+ (void)setLUT12toRGB:(unsigned char*)lut; -+ (unsigned char*)LUT12toRGB; -+ (void)set12BitInvocation:(NSInvocation*)invocation; -+ (NSInvocation*)fill12BitBufferInvocation; - -@end - diff --git a/VolumeGenerator/OsiriX Headers/DCMPix.h b/VolumeGenerator/OsiriX Headers/DCMPix.h deleted file mode 100644 index 534d47a..0000000 --- a/VolumeGenerator/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,644 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import -#import - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class ROI; -@class ThickSlabController; -@class DCMObject; -@class Point3D; - -/** \brief Represents an image for display */ - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; /**< source File */ - BOOL isBonjour; /**< Flag to indicate if file is accessed over Bonour */ - BOOL nonDICOM; /**< Flag to indicate if file is not DICOM */ - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; /**< Core data object for image */ - float *fImage /**< float buffer of image Data */, *fExternalOwnedImage; /**< float buffer of image Data - provided by another source, not owned by this object, not release by this object */ - char *wImage; /**< ? */ - -//DICOM TAGS - -// orientation - Point3D *origin; - double originX /**< x position of image origin */ , originY /**< y Position of image origin */ , originZ /**< Z position of image origin*/; - double orientation[ 9]; /**< pointer to orientation vectors */ - NSString *frameOfReferenceUID; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSData *transferFunction; - float *transferFunctionPtr; - -/** custom annotations */ - NSMutableDictionary *annotationsDictionary; - NSMutableDictionary *cachedPapyGroups; - -/** 12 bit monitors */ - BOOL isLUT12Bit; - unsigned char *LUT12baseAddr; -} - -@property long frameNo; -@property(setter=setID:) long ID; - -@property float minValueOfSeries, maxValueOfSeries; - -// Dimensions in pixels -@property long pwidth, pheight; - -/** Is it an RGB image (ARGB) or float image? -Note setter is different to not break existing usage. :-( */ -@property(setter=setRGB:) BOOL isRGB; - -/** Pointer to image data */ -@property(setter=setfImage:) float* fImage; - -/** WW & WL */ -@property(readonly) float ww, wl, fullww, fullwl; -@property float savedWW, savedWL; - -@property(readonly) float slope, offset; - -/** X/Y ratio - non-square pixels */ -@property double pixelRatio; - -/** pixel size */ -@property double pixelSpacingX, pixelSpacingY; - -/** Slice orientation */ -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (BOOL) identicalOrientationTo:(DCMPix*) c; - -- (void)orientationDouble:(double*) c; -- (void)setOrientationDouble:(double*) c; - -/** Slice location */ -@property(readonly) double originX, originY, originZ; - -/** Frame Of Reference UID */ -@property(copy) NSString *frameOfReferenceUID; - -- (void)setOrigin :(float*) o; -- (void)setOriginDouble :(double*) o; -- (void)origin: (float*)o; -- (void)originDouble: (double*)o; - -/** Axial Location */ -@property double sliceLocation; -/** Slice Thickness */ -@property double sliceThickness; -/** Slice Interval */ -@property double sliceInterval; -/** Gap between slices */ -@property(readonly) double spacingBetweenSlices; - -/** 8-bit TransferFunction */ -@property(retain) NSData *transferFunction; - -@property NSPoint subPixOffset; - -@property long DCMPixShutterRectWidth, DCMPixShutterRectHeight; -@property long DCMPixShutterRectOriginX, DCMPixShutterRectOriginY; - -@property(retain) NSString *repetitiontime, *echotime; -@property(readonly) NSString *flipAngle, *laterality; - -@property(readonly) NSString *protocolName; -@property(readonly) NSString *viewPosition; -@property(readonly) NSString *patientPosition; - -@property char* baseAddr; -@property unsigned char* LUT12baseAddr; - -@property(readonly) long serieNo; -@property(readonly) NSArray *pixArray; -@property(readonly) float *transferFunctionPtr; -@property short pixPos; -@property short stackDirection; -@property float countstackMean; - -@property(getter=Tot, setter=setTot:) long Tot; - -@property(readonly) short stack, stackMode; -@property(readonly) BOOL generated; -@property(retain) NSString *sourceFile; - -/** Database links */ -@property(readonly) NSManagedObject *imageObj, *seriesObj; -@property(readonly) NSString *srcFile; -@property(readonly) NSMutableDictionary *annotationsDictionary; - -// Properties (aka accessors) needed for SUV calculations -@property(readonly) float philipsFactor; -@property float patientsWeight; -@property float halflife; -@property float radionuclideTotalDose; -@property float radionuclideTotalDoseCorrected; -@property(retain) NSCalendarDate *acquisitionTime; -@property(retain) NSCalendarDate *radiopharmaceuticalStartTime; -@property BOOL SUVConverted; -@property(readonly) BOOL hasSUV; -@property float decayFactor; -@property(retain) NSString *units, *decayCorrection; -@property BOOL displaySUVValue; - -@property BOOL isLUT12Bit; - -- (void) copySUVfrom: (DCMPix*) from; /**< Copy the SUV from another DCMPic */ -- (float) getPixelValueX: (long) x Y:(long) y; /**< Get the pixel for a point with x,y coordinates */ - -- (void) checkSUV; /**< Makes sure all the necessary values for SUV calculation are present */ - -+ (void) checkUserDefaults: (BOOL) update; /**< Check User Default for needed setting */ -+ (void) resetUserDefaults; /**< Reset the defaults */ - /** Determine if a point is inside a polygon - * @param x is the NSPoint to check. - * @param poly is a pointer to an array of NSPoints. - * @param count is the number of - * points in the polygon. -*/ -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - - -- (void) changeWLWW:(float)newWL :(float)newWW; /**< Change window level to window width to the new values */ -- (void) computePixMinPixMax; /**< Compute the min and max values in the image */ - -// Compute ROI data -/** Calculates the cofactor used Calcium scoring. -* Depends on the threshold used for scoring -* Threshold is usually 90 or 120 depending on whether the source is -* Electron Beam or Multislice CT -*/ -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; - -/** returns calculated values for ROI: -* mean, total, deviation, min, max -*/ -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -/** Not sure when this is used rather than computeROI: */ -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack -* @param stackNo -* @param restore -* @param addition -*/ -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition spline:(BOOL) spline; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack ? -* @param stackNo -* @param restore -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientation -* @param stackNo -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; - -/** Fill a ROI with a value. -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside If YES replace outside the ROI -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi size:(NSSize*) size origin:(NSPoint*) origin; /**< Map from Polygon ROI */ - -/** Is this Point (pt) in this ROI ? */ -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -* using current slice location and orientation -*/ -- (void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; -- (void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d pixelCenter: (BOOL) pixelCenter; - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords double d[3] (in mm) -* using current slice location and orientation -*/ -- (void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; -- (void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d pixelCenter: (BOOL) pixelCenter; - -/** convert DICOM coordinated to slice coordinates */ -- (void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; -- (void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc pixelCenter:(BOOL) pixelCenter; - -/** convert DICOM coordinated to slice coordinates */ -- (void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; -- (void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc pixelCenter:(BOOL) pixelCenter; - -/** Return index & sliceCoords */ -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; - - - -- (BOOL) thickSlabVRActivated; /**< Activate Thick Slab VR */ - -/** convert to Black and White. -* @param mode values: 0 Use Red Channel, 1 use Green Channel 2 use Blue Channel 3 Merge and use RGB -*/ -- (void) ConvertToBW:(long) mode; - -/** convert to RGB. -* @param mode values: 0 create Red Channel, 1 create Green Channel 2 create Blue Channel 3 create all channels -* @param cwl = window level to use -* @param cww = window width to use -*/ -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; - -- (float) cineRate; /**< Returns the Cine rate */ - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - -- (BOOL) isLoaded; -- (void) fImageTime:(float)newTime; -- (float) fImageTime; -- (void) freefImageWhenDone:(BOOL) b; -- (void) maskID:(long)newID; -- (long) maskID; -- (void) maskTime:(float)newMaskTime; -- (float) maskTime; -- (void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; -- (NSNumber*) positionerPrimaryAngle; -- (void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; -- (NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; -- (void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; -- (BOOL) DCMPixShutterOnOff; -- (void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -//- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; /**< Returns an Empty object */ -- (short*) kernel; -+ (NSPoint) rotatePoint:(NSPoint)pt aroundPoint:(NSPoint)c angle:(float)a; -- (short) normalization; -- (short) kernelsize; -- (DCMPix*) renderWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (NSRect) usefulRectWithRotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) mergeWithDCMPix:(DCMPix*) o offset:(NSPoint) oo; -- (DCMPix*) renderInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (DCMPix*) renderInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF smartCrop: (BOOL) smartCrop; -- (NSImage*) renderNSImageInRectSize:(NSSize) rectSize atPosition:(NSPoint) oo rotation:(float) r scale:(float) scale xFlipped:(BOOL) xF yFlipped: (BOOL) yF; -- (NSString*) getDICOMFieldValueForGroup:(int)group element:(int)element papyLink:(short)fileNb; -- (NSString*) getDICOMFieldValueForGroup:(int)group element:(int)element DCMLink:(DCMObject*)dcmObject; -/** calls -* myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO -* with hello = NO and iO = 0L -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; - -/** Initialize -* doesn't load pix data, only initializes instance variables -* @param s filename -* @param pos imageID Position in array. -* @param tot imTot Total number of images. -* @param ptr pointer to volume -* @param f frame number -* @param ss series number -* @param hello flag to indicate remote bonjour file -* @param iO coreData image Entity for image -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; - -/** init with data pointer -* @param im pointer to image data -* @param pixelSize pixelDepth in bits -* @param xDim image width -* @param yDim =image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; - -/** init with data pointer -* @param im = pointer to image data -* @param pixelSize = pixelDepth in bits -* @param xDim image width -* @param yDim image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -* @param volSize ? -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (id) initWithImageObj: (NSManagedObject *)entity; -- (id) initWithContentsOfFile: (NSString *)file; -/** create an NSImage from the current pix -* @param smallIcon thumbnail size -* @param newWW window width to use -* @param newWL window level to use; -*/ -- (NSImage*) generateThumbnailImageWithWW: (float)newWW WL: (float)newWL; -- (void) allocate8bitRepresentation; - -/** create an NSImage from the current pix using the current ww/wl. Full size*/ -- (NSImage*) image; - -/** reeturns the current image. returns nil if no image has be previously created */ -// - (NSImage*) getImage; - -/** A pointer to the orientation. 9 values in length. 3 for each axis. */ -- (void) orientation:(float*) c; - -/** Sets the orientation. 9 values in length. 3 for each axis. */ -- (void) setOrientation:(float*) c; - -/** Releases the current NSImage */ -- (void) kill8bitsImage; - -- (void) checkImageAvailble:(float)newWW :(float)newWL; - -/** Load the DICOM image using the DCMFramework. -* There should be no reason to call this. The class will call it when needed. */ -- (BOOL)loadDICOMDCMFramework; - -/** Load the DICOM image using Papyrus. -* There should be no reason to call this. The class will call it when needed. -*/ -- (BOOL) loadDICOMPapyrus; - -/** Reset the Annotations */ -- (void) reloadAnnotations; - - -/** Parses the file. Extracts necessary data. Load image data. -* This class will be called by the class when necessay. -* There should be no need to call it externally -*/ -- (void) CheckLoadIn; - -/** Calls CheckLoadIn when needed */ -- (void) CheckLoad; - -/** Compute the float pointer for the image data */ -- (float*) computefImage; - -/** Sets fusion paramaters -* @param m stack mode -* @param s stack -* @param direction stack direction -*/ -- (void) setFusion:(short) m :(short) s :(short) direction; - -/** Sets updateToBeApplied to YES. It is called whenver a setting has been changed. -* Should be called by the class automatically when needed */ -- (void) setUpdateToApply; - - -/** Releases the fImage and sets all values to nil. */ -- (void)revert; - -/** finds the min and max pixel values. -* Sets the appropriate values for fullWW and fullWL -*/ -- (void) computePixMinPixMax; - -/** Sets the ThickSlabController */ -- (void) setThickSlabController:( ThickSlabController*) ts; - - -/** Sets the fixed8bitsWLWW flag */ -- (void) setFixed8bitsWLWW:(BOOL) f; - -/** Creates a DCMPix with the original values and places it in the restore cache*/ -- (void) prepareRestore; - - -/** Releases the restored DCMPix from the restoreCache */ -- (void) freeRestore; - -/** Sets flag for when OsiriX is running in protected mode */ -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; - -/** Returns flag for protected mode */ -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -/** Clears the papyrus group cache */ -- (void) clearCachedPapyGroups; - -/** Returns a pointer the the papyrus group -* @param group group -* @param fileNb papyrus file -*/ -- (void *) getPapyGroup: (int)group fileNb: (int)fileNb; - -/** create ROIs from RTSTRUCT */ -- (void)createROIsFromRTSTRUCT: (DCMObject*)dcmObject; - -#ifdef OSIRIX_VIEWER - -/** Custom Annotations */ -- (void)loadCustomImageAnnotationsPapyLink:(int)fileNb DCMLink:(DCMObject*)dcmObject; - - -/** Set flag to anonymize the annotations */ -+ (BOOL) setAnonymizedAnnotations: (BOOL) v; -#endif - -@end diff --git a/VolumeGenerator/OsiriX Headers/DCMView.h b/VolumeGenerator/OsiriX Headers/DCMView.h deleted file mode 100644 index 68e4ec8..0000000 --- a/VolumeGenerator/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,475 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -// WARNING: If you add or modify this list, check ViewerController.m, DCMView.h and HotKey Pref Pane - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - -typedef enum {DCMViewTextAlignLeft, DCMViewTextAlignCenter, DCMViewTextAlignRight} DCMViewTextAlign; - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -/** \brief Image/Frame View for ViewerController */ - -@interface DCMView: NSOpenGLView -{ - NSInteger _imageRows; - NSInteger _imageColumns; - NSInteger _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], opaqueTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - - float sliceFromTo[ 2][ 3], sliceFromToS[ 2][ 3], sliceFromToE[ 2][ 3], sliceFromTo2[ 2][ 3], sliceFromToThickness; - - float sliceVector[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight, currentMouseEventTool; - - BOOL mouseDragging; - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - BOOL curWLWWSUVConverted; - float curWLWWSUVFactor; - - NSSize scaleStart, scaleInit; - - double resizeTotal; - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; - long textureY, blendingTextureY; - GLuint * pTextureName; - GLuint * blendingTextureName; - long textureWidth, blendingTextureWidth; - long textureHeight, blendingTextureHeight; - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - - BOOL cursorSet; - NSTrackingArea *cursorTracking; - - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSTimer *_rightMouseDownTimer; //Checking For Right hold - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged, needToLoadTexture, dontEnterReshape; - - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible, updateNotificationRunning; - - char *resampledBaseAddr, *blendingResampledBaseAddr; - char *resampledTempAddr; - BOOL zoomIsSoftwareInterpolated, firstTimeDisplay; - - int resampledBaseAddrSize, blendingResampledBaseAddrSize; - - // iChat - float iChatWidth, iChatHeight; - unsigned char* iChatCursorTextureBuffer; - GLuint iChatCursorTextureName; - NSSize iChatCursorImageSize; - NSPoint iChatCursorHotSpot; - - GLuint iChatFontListGL; - NSFont *iChatFontGL; - long iChatFontListGLSize[ 256]; - NSMutableDictionary *iChatStringTextureCache; - NSSize iChatStringSize; - NSRect drawingFrameRect; -} - -@property(readonly) NSRect drawingFrameRect; -@property(readonly) NSMutableArray *rectArray; -@property BOOL flippedData, dontEnterReshape; -@property(readonly) NSMutableArray *dcmPixList, *dcmRoiList; -@property(readonly) NSArray *dcmFilesList; -@property long syncSeriesIndex; -@property float syncRelativeDiff; -@property NSPoint cross; -@property NSPoint crossPrev; -@property float slab; -@property long blendingMode; -@property(retain,setter=setBlending:) DCMView *blendingView; -@property(readonly) float blendingFactor; -@property BOOL xFlipped, yFlipped; -@property(retain) NSString *stringID; -@property(readonly) float angle; -@property short currentTool; -@property(setter=setRightTool:) short currentToolRight; -@property(readonly) short curImage; -@property(retain) NSMatrix *theMatrix; -@property(readonly) BOOL suppressLabels; -@property float scaleValue, rotation; -@property NSPoint origin, originOffset; -@property(readonly) double pixelSpacing, pixelSpacingX, pixelSpacingY; -@property(readonly) DCMPix *curDCM; -@property(readonly) float mouseXPos, mouseYPos; -@property(readonly) float contextualMenuInWindowPosX, contextualMenuInWindowPosY; -@property(readonly) GLuint fontListGL; -@property(readonly) NSFont *fontGL; -@property NSInteger tag; -@property(readonly) float curWW, curWL; -@property NSInteger rows, columns; -@property(readonly) NSCursor *cursor; -@property BOOL eraserFlag; -@property BOOL drawing; -@property BOOL volumicSeries; -@property(readonly) BOOL isKeyView, mouseDragging; - -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (void) gClickCountSetReset; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; - -- (unsigned char*) getRawPixelsWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allTiles:(BOOL) allTiles allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing; - -- (unsigned char*) getRawPixelsViewWidth:(long*) width height:(long*) height spp:(long*) spp bpp:(long*) bpp screenCapture:(BOOL) screenCapture force8bits:(BOOL) force8bits removeGraphical:(BOOL) removeGraphical squarePixels:(BOOL) squarePixels allowSmartCropping:(BOOL) allowSmartCropping origin:(float*) imOrigin spacing:(float*) imSpacing; - --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT textureWidth: (long*) tW textureHeight:(long*) tH resampledBaseAddr:(char**) rAddr resampledBaseAddrSize:(int*) rBAddrSize; -- (short)syncro; -- (void)setSyncro:(short) s; - -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromNSView2GL:(NSPoint) a; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromUpLeftView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (NSPoint) ConvertFromGL2NSView:(NSPoint) a; -- (NSPoint) ConvertFromGL2Screen:(NSPoint) a; -- (NSPoint) ConvertFromGL2GL:(NSPoint) a toView:(DCMView*) otherView; -- (NSRect) smartCrop; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (NSImage*) nsimage; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (void) sendSyncMessage:(short) inc; -- (void) loadTextures; -- (void)loadTexturesCompute; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (NSPoint) rotatePoint:(NSPoint) a; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginX:(float) x Y:(float) y; -- (void) setOriginOffset:(NSPoint) x; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) sync:(NSNotification*)note; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (BOOL)checkHasChanged; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY :(long) tW :(long) tH; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawNSStringGL:(NSString*)str :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawCStringGL:(char*)cstrOut :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) drawImage:(NSImage *)image inBounds:(NSRect)rect; -- (void) setScaleValueCentered:(float) x; -- (void) updateCurrentImage: (NSNotification*) note; -- (void) setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void) updateTilingViews; -- (void) becomeMainWindow; -- (void) checkCursor; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void) updatePresentationStateFromSeries; -- (void) updatePresentationStateFromSeriesOnlyImageLevel: (BOOL) onlyImage; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) updateImage; -- (BOOL) shouldPropagate; -- (NSPoint) convertFromView2iChat: (NSPoint) a; -- (NSPoint) convertFromNSView2iChat: (NSPoint) a; -- (void) annotMenu:(id) sender; -- (float) MPRAngle; - -// methods to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; -- (void) roiLoadFromFilesArray: (NSArray*) filenames; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; -+(NSDictionary*) hotKeyDictionary; -+(NSDictionary*) hotKeyModifiersDictionary; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -- (void)setIsLUT12Bit:(BOOL)boo; -- (BOOL)isLUT12Bit; - -@end diff --git a/VolumeGenerator/OsiriX Headers/DicomImage.h b/VolumeGenerator/OsiriX Headers/DicomImage.h deleted file mode 100644 index 34c0734..0000000 --- a/VolumeGenerator/OsiriX Headers/DicomImage.h +++ /dev/null @@ -1,75 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import "DicomImage.h" - -NSString* sopInstanceUIDDecode( unsigned char *r); -void* sopInstanceUIDEncode( NSString *sopuid); - -@class DCMSequenceAttribute; - -/** \brief Core Data Entity for an image (frame) */ - -@interface DicomImage : NSManagedObject -{ - NSString *completePathCache; - - NSString *sopInstanceUID; - NSNumber *inDatabaseFolder; - NSNumber *height, *width; - NSNumber *numberOfFrames; - NSNumber *numberOfSeries; - NSNumber *mountedVolume; - NSNumber *isKeyImage, *dicomTime; - NSString *extension; - NSString *modality; - NSString *fileType; - -// BOOL mxOffset; -// BOOL myOffset; -// BOOL mscale; -// BOOL mrotationAngle; -// BOOL mwindowLevel; -// BOOL mwindowWidth; -// BOOL myFlipped, mxFlipped; -// -// NSNumber *xOffset; -// NSNumber *yOffset; -// NSNumber *scale; -// NSNumber *rotationAngle; -// NSNumber *windowLevel; -// NSNumber *windowWidth; -// -// NSNumber *yFlipped, *xFlipped; -} - -+ (NSString*) sopInstanceUIDEncodeString:(NSString*) s; -- (NSString*) uniqueFilename; -- (NSSet*) paths; -- (NSString*) completePath; -- (NSString*) completePathResolved; -- (void) clearCompletePathCache; -- (DCMSequenceAttribute*) graphicAnnotationSequence; -- (NSImage *)image; -- (NSImage *)thumbnail; -- (NSDictionary *)dictionary; -- (NSString*) completePathWithDownload:(BOOL) download; -+ (NSString*) completePathForLocalPath:(NSString*) path directory:(NSString*) directory; -- (NSString*) SRFilenameForFrame: (int) frameNo; -- (NSString*) SRPathForFrame: (int) frameNo; -- (NSArray*) SRFilenames; -- (NSArray*) SRPaths; -- (NSString *)sopInstanceUID; -@end diff --git a/VolumeGenerator/OsiriX Headers/DicomSeries.h b/VolumeGenerator/OsiriX Headers/DicomSeries.h deleted file mode 100644 index b6c5090..0000000 --- a/VolumeGenerator/OsiriX Headers/DicomSeries.h +++ /dev/null @@ -1,53 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "DicomSeries.h" - -/** \brief Core Data Entity for a Series */ - -@interface DicomSeries : NSManagedObject -{ - NSNumber *dicomTime; - -// BOOL mxOffset; -// BOOL myOffset; -// BOOL mscale; -// BOOL mrotationAngle; -// BOOL mdisplayStyle; -// BOOL mwindowLevel; -// BOOL mwindowWidth; -// BOOL myFlipped, mxFlipped; -// -// NSNumber *xOffset; -// NSNumber *yOffset; -// NSNumber *scale; -// NSNumber *rotationAngle; -// NSNumber *displayStyle; -// NSNumber *windowLevel; -// NSNumber *windowWidth; -// NSNumber *yFlipped, *xFlipped; -} - -- (NSSet *)paths; -- (NSSet *)keyImages; -- (NSArray *)sortedImages; -- (NSString *)dicomSeriesInstanceUID; -- (NSDictionary *)dictionary; -- (NSComparisonResult)compareName:(DicomSeries*)series; - -@end diff --git a/VolumeGenerator/OsiriX Headers/DicomStudy.h b/VolumeGenerator/OsiriX Headers/DicomStudy.h deleted file mode 100644 index fb1826e..0000000 --- a/VolumeGenerator/OsiriX Headers/DicomStudy.h +++ /dev/null @@ -1,44 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import -#import "DicomStudy.h" - -/** \brief Core Data Entity for a Study */ -@interface DicomStudy : NSManagedObject -{ - BOOL isHidden; - NSNumber *dicomTime; -} - -- (NSNumber *) noFiles; -- (NSSet *) paths; -- (NSSet *) keyImages; -- (NSArray *)imageSeries; -- (NSArray *)reportSeries; -- (NSArray *)structuredReports; -- (NSArray *)keyObjectSeries; -- (NSArray *)keyObjects; -- (NSArray *)presentationStateSeries; -- (NSArray *)waveFormSeries; -- (NSManagedObject *)roiSRSeries; -- (NSDictionary *)dictionary; -- (BOOL) isHidden; -- (void) setHidden: (BOOL) h; - -- (NSComparisonResult)compareName:(DicomStudy*)study; - -@end diff --git a/VolumeGenerator/OsiriX Headers/MyPoint.h b/VolumeGenerator/OsiriX Headers/MyPoint.h deleted file mode 100644 index f71cdb3..0000000 --- a/VolumeGenerator/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Wrapper for NSPoint */ - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/VolumeGenerator/OsiriX Headers/OSIWindowController.h b/VolumeGenerator/OsiriX Headers/OSIWindowController.h deleted file mode 100644 index 0d5f0d9..0000000 --- a/VolumeGenerator/OsiriX Headers/OSIWindowController.h +++ /dev/null @@ -1,48 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief base class for Window Controllers in OsiriX -* -*Root class for the Viewer Window Controllers such as ViewerController -*and Window3DController -*/ - -#import - - -enum OsiriXBlendingTypes {BlendingPlugin = -1, BlendingFusion = 1, BlendingSubtraction, BlendingMultiplication, BlendingRed, BlendingGreen, BlendingBlue, Blending2DRegistration, Blending3DRegistration, BlendingLL}; - - -@interface OSIWindowController : NSWindowController { - int _blendingType; -} - -- (NSMutableArray*) pixList; -- (void) addToUndoQueue:(NSString*) what; -- (int)blendingType; - -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; - -- (void) applyShading:(id) sender; - -#pragma mark- -#pragma mark current Core Data Objects -- (NSManagedObject *)currentStudy; -- (NSManagedObject *)currentSeries; -- (NSManagedObject *)currentImage; - -- (float)curWW; -- (float)curWL; -@end diff --git a/VolumeGenerator/OsiriX Headers/PluginFilter.h b/VolumeGenerator/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 307d2d8..0000000 --- a/VolumeGenerator/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,77 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - - -/** \brief Base class for plugins */ -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -/** This function is called to apply your plugin */ -- (long) filterImage: (NSString*) menuName; - -/** This function is the entry point of Pre-Process plugins */ -- (long) processFiles: (NSArray*) files; - -/** This function is the entry point of Report plugins -* action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -* action = @"deleteReport" -> return 0L, delete the report -* action = @"openReport" -> return 0L, open and display the report, create a new one if no report available -*/ -- (id) report: (NSManagedObject*) study action:(NSString*) action; - - - -/** This function is called at the OsiriX startup, if you need to do some memory allocation, etc. */ -- (void) initPlugin; - -/** Opportunity for plugins to make Menu changes if necessary */ - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -/** Return the complete lists of opened studies in OsiriX */ -/** NSArray contains an array of ViewerController objects */ -- (NSArray*) viewerControllersList; - -/** Create a new 2D window, containing a copy of the current series */ -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. -/** Stub is to be subclassed by report filters */ -- (id)reportDateForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)deleteReportForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)createReportForStudy: (NSManagedObject*)study; - -/** PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY */ -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/VolumeGenerator/OsiriX Headers/ROI.h b/VolumeGenerator/OsiriX Headers/ROI.h deleted file mode 100644 index 609af29..0000000 --- a/VolumeGenerator/OsiriX Headers/ROI.h +++ /dev/null @@ -1,384 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" - -#import - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -/** \brief Region of Interest -* -* Region of Interest on a 2D Image:\n -* Types\n -* tMesure = line\n -* tROI = Rectangle\n -* tOval = Oval\n -* tOPolygon = Open Polygon\n -* tCPolygon = Closed Polygon\n -* tAngle = Angle\n -* tText = Text\n -* tArrow = Arrow\n -* tPencil = Pencil\n -* t3Dpoint= 3D Point\n -* t2DPoint = 2D Point\n -* tPlain = Brush ROI\n -* tLayerROI = Layer Overlay\n -* tAxis = Axis\n -* tDynAngle = Dynamic Angle\n -*/ - -@interface ROI : NSObject -{ - NSLock *roiLock; - - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - - NSMutableArray *ctxArray; //All contexts where this texture is used - NSMutableArray *textArray; //All texture id - - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - int PointUnderMouse; - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256], line6[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5, *textualBoxLine6; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - double _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer, canResizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -@property(readonly) int textureWidth, textureHeight; -@property(readonly) int textureDownRightCornerX,textureDownRightCornerY, textureUpLeftCornerX, textureUpLeftCornerY; -@property(readonly) unsigned char *textureBuffer; -@property float opacity; -@property(retain) NSString *name, *comments; -@property(readonly) long type; -@property(setter=setROIMode:) long ROImode; -@property(retain) NSMutableArray *points; // Return/set the points state of the ROI -@property(readonly) NSMutableArray *zPositions; -@property(readonly) BOOL clickInTextBox; -@property(setter=setROIRect:) NSRect rect; // To create a Rectangular ROI (tROI) or an Oval ROI (tOval) or a 2DPoint -@property(retain) DCMPix *pix; // The DCMPix associated to this ROI -@property(readonly) DCMView *curView; // The DCMView associated to this ROI -@property float mousePosMeasure; -@property(readonly) NSData *data; -@property(setter=setColor:) RGBColor rgbcolor; -@property float thickness; -@property(retain) ROI *parentROI; -@property double sliceThickness; - -/** Set default ROI name (if not set, then default name is the currentTool) */ -+ (void) setDefaultName:(NSString*) n; -/** Return the default name */ -+ (NSString*) defaultName; - -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -+ (BOOL) splineForROI; - -/** Load User Defaults */ -+(void) loadDefaultSettings; - -/** Save User Defaults */ -+(void) saveDefaultSettings; - -/** Create a new ROI, needs the current pixel resolution and image origin -* @param itype ROI Type -* @param ipixelSpacing Assumes pixel size is same in both x and y -* @param iimageOrigin Origin on image -*/ -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; - -/** Create a new ROI, needs the current pixel resolution x and y and image origin* @param itype ROI Type -* @param ipixelSpacingx Pixel width -* @param ipixelSpacingy Pixel height -* @param iimageOrigin Origin on image -*/ -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -/** arg: specific methods for tPlain roi -* @param tBuff Pointer to the texture buffer -* @param tWidth Texture width -* @param tHeight Texture height -* @param tName ROI Name -* @param posX Origin.x of texture upper left corner -* @param posY Origin.y of texture upper left corner -* @param ipixelSpacingx Pixel width -* @param ipixelSpacingy Pixel height -* @param iimageOrigin Origin on image -*/ -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - - -/** Set offset for text box */ -- (void) setTextBoxOffset:(NSPoint) o; - - -/** Prints info about texture to output */ -- (void)displayTexture; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -/** Set resolution and origin associated to the ROI */ -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -/** Compute the roiArea in cm2 */ -- (float) roiArea; - -/** Compute the geometric centroid in pixel space */ -- (NSPoint) centroid; - -/** Compute the length for tMeasure ROI in cm */ -- (float) MesureLength: (float*) pixels; - -/** Compute the length for between two points in cm */ -- (float) Length:(NSPoint) mesureA :(NSPoint) mesureB; -- (float) LengthFrom:(NSPoint) mesureA to:(NSPoint) mesureB inPixel: (BOOL) inPixel; - -/** Compute an angle between 2 lines */ -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -- (float*) dataValuesAsFloatPointer :(long*) no; -- (NSMutableArray*) dataValues; - -/** Find a point between two points -* @param a First point -* @param b Second point -* @param r Weighting bewtween the two points -*/ -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; - - -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - - -/** Update ROI on mouse down. For most rois this will be the origin of the ROI */ -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; - -/** Update ROI on mouse down in the current image. For most rois this will be the origin of the ROI */ -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; - -/** Move the ROI */ -- (void) roiMove:(NSPoint) offset; - -/** Move the ROI */ -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; - -/** Modify roi as mouse is dragged */ -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; - -/** Moedify roi on mouse up */ -- (BOOL) mouseRoiUp:(NSPoint) pt; - -/** Returns YES if roi is valid */ -- (BOOL) valid; - -/** Draw the ROI */ -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (void) drawROIWithScaleValue:(float)scaleValue offsetX:(float)offsetx offsetY:(float)offsety pixelSpacingX:(float)spacingX pixelSpacingY:(float)spacingY highlightIfSelected:(BOOL)highlightIfSelected thickness:(float)thick prepareTextualData:(BOOL) prepareTextualData; - -/** Always returns NO */ -- (BOOL) needQuartz; - -/** Delete the current selected point */ -- (BOOL) deleteSelectedPoint; - -/** The info displayed in the text box */ -- (NSMutableDictionary*) dataString; - -/** Set the font */ -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; - -/** Returns an OpenGL string */ -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; - -/** Recompute */ -- (void) recompute; - -/** Rotate the ROI */ -- (void) rotate: (float) angle :(NSPoint) center; - -/** Test to see if ROI can be resized */ -- (BOOL)canResize; - -/** Resize ROI */ -- (void) resize: (float) factor :(NSPoint) center; - -/** Test to see if texture can be reduced */ -- (BOOL) reduceTextureIfPossible; - -/** Merge two brush ROI together */ -- (void) mergeWithTexture: (ROI*) r; - -/** Add a margin to the buffer */ -- (void) addMarginToBuffer: (int) margin; - -/** Draw text box for ROI */ -- (void) drawTextualData; - - -/** Test to see if point is in text box or ROI and returns the mode. -* Can be ROI_Selected or ROI_selectedModify if hit test is YES -*/ -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; - -/** Delete texture */ -- (void) deleteTexture:(NSOpenGLContext*) c; - - -/** Set cab resize layer */ -- (void) setCanResizeLayer:(BOOL)boo; -// Calcium Scoring -/** Cofactor for Calcium Score -* Cofactor values used by Agaston. -* Using a threshold of 90 rather than 130. Assuming -* multislice CT rather than electron beam. -* We could have a flag for Electron beam rather than multichannel CT -* and use 130 as a cutoff -* Based on Hounsfield density of Calcium -*/ -- (int)calciumScoreCofactor; -/** Calcium score -* roi Area * cofactor; area is is mm2. -*plainArea is number of pixels -*/ -- (float)calciumScore; - -/** Calcium volume -* area * thickness -*/ -- (float)calciumVolume; - -/** Calcium mass -* Volume * mean CT Density / 250 - */ -- (float)calciumMass; - -@property BOOL displayCalciumScoring; -@property int calciumThreshold; - -@property(retain) NSString *layerReferenceFilePath; -@property(retain) NSImage *layerImage; -@property float layerPixelSpacingX, layerPixelSpacingY; - -- (GLuint)loadLayerImageTexture; -- (void)generateEncodedLayerImage; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; -- (void) displayPointUnderMouse:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale; - -@property(retain) NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5, *textualBoxLine6; -@property NSTimeInterval groupID; - - -/** Lower right point of ROI */ -- (NSPoint) lowerRightPoint; - -@property BOOL isLayerOpacityConstant; -@property BOOL canColorizeLayer; -@property BOOL displayTextualData; -@property(readonly) NSPoint clickPoint; - --(NSMutableArray*)splinePoints; --(NSMutableArray*)splinePoints:(float) scale; --(NSMutableArray*)splineZPositions; - -@end diff --git a/VolumeGenerator/OsiriX Headers/Schedulable.h b/VolumeGenerator/OsiriX Headers/Schedulable.h deleted file mode 100644 index 6a05f3e..0000000 --- a/VolumeGenerator/OsiriX Headers/Schedulable.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Protocol for multithreading scheduling*/ -@protocol Schedulable --(void)performWorkUnits:(NSSet *)workUnits forScheduler:(Scheduler *)scheduler; -@end \ No newline at end of file diff --git a/VolumeGenerator/OsiriX Headers/Scheduler.h b/VolumeGenerator/OsiriX Headers/Scheduler.h deleted file mode 100644 index 0359200..0000000 --- a/VolumeGenerator/OsiriX Headers/Scheduler.h +++ /dev/null @@ -1,68 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@protocol Schedulable; - -/** \brief Does multithreading scheduling*/ -@interface Scheduler : NSObject { - @private - id _delegate; // Delegate - id _schedulableObject; // Object which has work units to be scheduled - NSMutableSet *_workUnitsRemaining; // Work units not yet performed in schedule - NSLock *_remainingUnitsLock; // Lock to keep the remaining work units set consistent - BOOL _scheduleWasCancelled; // Flag set when schedule is cancelled - unsigned _numberOfThreads; // Number of simultaneous threads used to perform work - unsigned _numberOfDetachedThreads; // The current number of worker threads detached. -} - --(id)initForSchedulableObject:(id )schedObj andNumberOfThreads:(unsigned)numThreads; --(id)initForSchedulableObject:(id )schedObj; --(void)dealloc; - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(void)cancelSchedule; - -// Template method. Overload in subclasses --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -// Accessors --(unsigned)numberOfThreads; --(unsigned) numberOfDetachedThreads; - --(id)delegate; --(void)setDelegate:(id)delegate; - --(id )schedulableObject; - --(NSMutableSet *)_workUnitsRemaining; - -@end - -@interface Scheduler (SchedulerDelegateMethods) - -// Sent in the main thread --(void)schedulerWillBeginSchedule:(Scheduler *)sender; - -// The following are sent in the worker thread --(BOOL)scheduler:(Scheduler *)scheduler shouldBeginUnits:(NSSet *)units; --(void)scheduler:(Scheduler *)scheduler didCompleteUnits:(NSSet *)units; - -// Sent in the main thread --(void)schedulerDidCancelSchedule:(Scheduler *)scheduler; --(void)schedulerDidFinishSchedule:(Scheduler *)scheduler; - -@end \ No newline at end of file diff --git a/VolumeGenerator/OsiriX Headers/StaticScheduler.h b/VolumeGenerator/OsiriX Headers/StaticScheduler.h deleted file mode 100644 index b6724cd..0000000 --- a/VolumeGenerator/OsiriX Headers/StaticScheduler.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Static multithreaded Scheduler */ -@interface StaticScheduler : Scheduler { - @private - int _numberOfThreadsLeft; // Used to keep track of how many threads already have work -} - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -@end \ No newline at end of file diff --git a/VolumeGenerator/OsiriX Headers/ViewerController.h b/VolumeGenerator/OsiriX Headers/ViewerController.h deleted file mode 100644 index 8669e87..0000000 --- a/VolumeGenerator/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,998 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - - - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -/** \brief Window Controller for 2D Viewer*/ - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSSegmentedControl *blendingTypeRGB; - IBOutlet NSPopUpButton *blendingPlugins; - IBOutlet NSButton *blendingResample; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - IBOutlet NSButton *imageAllViewers; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage; - NSTimeInterval loadingPauseDelay; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies, titledGantry, updateTilingViews, stopViewFrameDidChangeNotification; - - volatile BOOL checkEverythingLoaded; - - float resampleRatio; - - NSRect savedWindowsFrame; - BOOL windowIsMovedByTheUser; - - ViewerController *registeredViewer; - - NSMutableArray *retainedToolbarItems; - - BOOL nonVolumicDataWarningDisplayed; - - IBOutlet NSView *display12bitToolbarItemView; - IBOutlet NSMatrix *display12bitToolbarItemMatrix; - NSTimer *t12BitTimer; -} - -@property(readonly) short currentOrientationTool; - -/** Array of all 2D Viewers */ -+ (NSMutableArray*) getDisplayed2DViewers; - -/** Create a new 2D Viewer -* @param pixList Array of DCMPix objects -* @param fileList Array of files for DCMPix objects -* @param volumeData NSData object containing the volume data -*/ -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData frame: (NSRect) frame; - -/** Create a new 2D Viewer -* @param pixList Array of DCMPix objects -* @param fileList Array of files for DCMPix objects -* @param volumeData NSData object containing the volume data -*/ -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; - -/** Notifcation to close Viewer */ -- (void) CloseViewerNotification: (NSNotification*) note; - -/** Change Series -* @param newPixList Array of DCMPix objects to used instead -* @param newDcmList Array of file strings -* @param newData NSData of new volume data -*/ -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -/** Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object */ --(ViewerController*) blendedWindow; - -/** Display a Wait window with the message -* @param message The message for the Wait window to display */ -- (id) startWaitWindow :(NSString*) message; - - -/** Display a Wait window with the message progress length of max -* @param message The message for the Wait window to display -* @param max Progress bar max */ -- (id) startWaitProgressWindow :(NSString*) message :(long) max; - -/** Increment the Wait window progress bar -* @param waitWindow The Wait Window -* @param val Amount to increment the Wait window -*/ -- (void) waitIncrementBy:(id) waitWindow :(long) val; - - -/** End the wait window */ -- (void) endWaitWindow:(id) waitWindow; - -/** Refresh the current displayed image */ -- (void) needsDisplayUpdate; - -/** Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) */ -- (float*) volumePtr; -- (float*) volumePtr: (long) i; -- (NSData*)volumeData; -- (NSData*)volumeData:(long) i; - -/** Return the index into fileList that coresponds to the index in pixList */ -- (long) indexForPix: (long) pixIndex; - -/** Return the image pane object */ -- (DCMView*) imageView; -- (NSArray*) imageViews; - -/** Return the array of DCMPix objects */ -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -/** Return the array of DicomFile objects */ -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -/** Return the array of ROI objects */ -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; -- (void) setRoiList: (long) i array:(NSMutableArray*) a; - -/** Create a new MyPoint object */ -- (MyPoint*) newPoint: (float) x :(float) y; - -/** Create a new ROI object */ -- (ROI*) newROI: (long) type; - -/** Are the data volumic: same height same width same orientation */ -- (BOOL) isDataVolumicIn4D:(BOOL) check4D checkEverythingLoaded:(BOOL) c; -- (BOOL) isDataVolumicIn4D:(BOOL) check4D; -- (void) displayAWarningIfNonTrueVolumicData; - -/** ReSort the images displayed according to this group/element */ -- (BOOL) sortSeriesByDICOMGroup: (int) gr element: (int) el; - -/** Delete ALL ROI objects for current series */ -- (IBAction) roiDeleteAll:(id) sender; - -/** methods to access global variables */ -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - - -/** Adds to undo queue -* @param string The type of undo -* This method calls - (id) prepareObjectForUndo:(NSString*) string get the undo object -*/ -- (void) addToUndoQueue:(NSString*) string; - -/** Prepare for Undo -* returns the undo object -* @param string The type of undo -*/ -- (id) prepareObjectForUndo:(NSString*) string; - -/** Redo -* Gets the last object in the redo queue -* and Redo action */ -- (IBAction) redo:(id) sender; - -/** Undo -** Gets the last object in the undo queue -* Undo action*/ -- (IBAction) undo:(id) sender; - -/** Get path for current image */ -- (void) updateRepresentedFileName; - -/** Stops or aborts any open modal window */ -- (IBAction) closeModal:(id) sender; - -/** Brings ROI to front of ROI array for current image. -* If roi is in a group, the whole group is brought to the front -* @param roi The ROI that should be up front -*/ -- (void)bringToFrontROI:(ROI*)roi; - -/** Change fusion status -* Called by an action. -*/ -- (void) activateFusion:(id) sender; - -/** Action to Propagte current settings */ -- (void) copySettingsToOthers: (id)sender; - -/** Set the postprocessed flag */ -- (void) setPostprocessed:(BOOL) v; - -/** returns postprocessed status */ -- (BOOL) postprocessed; - -/** Apply the opacity setting -* @param str The name of the opacity setting. Should be one of the menu item name from the opacity menu -*/ -- (void) ApplyOpacityString:(NSString*) str; - -/** Refreshed window width and window level */ -- (void) refresh; - -/** Action to sset up non DICOM printing */ -- (IBAction) setPagesToPrint:(id) sender; - -/** Action to start printing. Called when print window is ordered out */ -- (IBAction) endPrint:(id) sender; - -+ (int) getToolEquivalentToHotKey:(int) h; -+ (int) getHotKeyEquivalentToTool:(int) h; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (long) imageIndex; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (BOOL) updateTilingViewsValue; -- (void) setUpdateTilingViewsValue:(BOOL) v; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction) updateZVector:(id) sender; -- (void)displayDICOMOverlays: (id)sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor movieIndex:(int) j; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) mergeBrushROI: (id) sender; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -- (void) displayWarningIfGantryTitled; -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBAction)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (NSToolbar*) toolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; - -/** Used to determine in the Window Controller is a 2D Viewer. -* Always return YES -*/ -- (BOOL) is2DViewer; - -/** String for the currently selected CLUT menu item */ -- (NSString*) curCLUTMenu; - -/** String for the currently selected WLWW mewnu item */ -- (NSString*) curWLWWMenu; - -/** String for the currently selected Opacity menu item */ -- (NSString*) curOpacityMenu; - - -/** Flag to indicate the the window will close */ -- (BOOL) windowWillClose; - - -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (void) computeContextualMenu; - -/** Modality of the study */ -- (NSString*) modality; -- (void) selectFirstTilingView; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (BOOL)isPlaying4D; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (float) computeIntervalFlipNow: (NSNumber*) flipNowNumber; -- (void) computeIntervalAsync; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; - -/** Action to open the OrthogonalMPRViewer */ -- (IBAction) orthogonalMPRViewer:(id) sender; - -/** Action to open the EndoscopyViewer */ -- (IBAction) endoscopyViewer:(id) sender; - -/** Action to open the CurvedMPRViewer */ -- (IBAction) CurvedMPR:(id) sender; - -- (void) showCurrentThumbnail:(id) sender; - -/** Action to open SRViewer (Surface Rendering) */ -- (IBAction) SRViewer:(id) sender; - -- (NSMenu *)contextualMenu; - -/** Action to export as JPEG */ -- (void) exportJPEG:(id) sender; - -/** Notification to close all windows */ -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (void) setDontEnterMagneticFunctions:(BOOL) a; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (IBAction) saveWindowsState:(id) sender; -- (IBAction) loadWindowsState:(id) sender; -- (IBAction) resetWindowsState:(id) sender; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers mode:(NSString*) mode; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; - -- (NSArray*)roisWithName:(NSString*)name; -- (NSArray*)roisWithName:(NSString*)name in4D:(BOOL)in4D; -- (NSArray*)roisWithName:(NSString*)name forMovieIndex:(int)m; - -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow animate: (BOOL) animate; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (void) executeRevert; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void)setOrientationToolFrom2DMPR:(id)sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; -- (ViewerController*) registeredViewer; -- (void) setRegisteredViewer: (ViewerController*) viewer; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; -- (void) refreshToolbar; -- (void) reloadAnnotations; - -#pragma mark- -#pragma mark Brush ROI Filters - -/** Applies the selected Brush ROI morpho filter -* @param rois ROI array to filter -* @param action The filter to apply: Possible values are: open, close, erode, dilate -* @param radius structuringElementRadius for the filter -* @param sendNotification Will post an @"roiChange" notification if YES -*/ -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -/** Set the structuring radius for the brush ROI morpho filter */ -- (IBAction) setStructuringElementRadius: (id) sender; - - -/** Action to start filter for the selected brush ROI using the filter selected with -- (IBAction) morphoSelectedBrushROI: (id) sender -* Filters are: erode, dilate, open, close -*/ -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; - -/** Select filter for the selected brush ROI -* Filters are: erode, dilate, open, close -*/ -- (IBAction) morphoSelectedBrushROI: (id) sender; - - -/** Create a new ROI between two ROI -* Converts both ROIs into polygons, after a marching square isocontour -* @param a First ROI -* @param b Second ROI -* @param ratio Weighting used to morph between the two -*/ -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; - -/** Convert Polygon ROI to a Brush ROI. -* @param selectedROI The ROI to convert -*/ -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; - -/** Convert Brush ROI to a Polygon ROI. Returns converted ROI -* @param selectedROI The ROI to convert -* @param numPoints Number of points for the polygon -*/ -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -/** Returns an NSArray of all t2DPoint type ROI*/ -- (NSMutableArray*) point2DList; - - -/** Computes registration between the current Viewer and another ViewerController -* A HornRegistatration is first performed -* ITKTransform is used for the transform. -* At least three t2DPoint type ROI to compute -* Each point on the moving viewer needs a twin on the fixed viewer. -* Two points are twin brothers if and only if they have the same name. -*/ -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -/** Returns a new viewer with the current series resampled to match the Orientation of series in the other viewer -* Both series must be from the same study to insure matching imageOrientationPatient and imagePositionPatient -* @param movingViewer The ViewerController to resample the series to match -*/ -- (ViewerController*) resampleSeries:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects - -/** Creates a Key Object note for the current key Images */ -- (IBAction)createKeyObjectNote:(id)sender; - -/** End sheet method for creating key Object notes -* Called internally -*/ -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; - - -/** return flag indicating whether only the key images are being displayed */ -- (BOOL)displayOnlyKeyImages; - - -/** Returns whether the image at the index is a key image -* @param index of image to check -*/ -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView -/** Current ImageView window width */ --(float)curWW; - -/** Current ImageView window level */ --(float)curWL; - -/** Set window width and window level for current ImageView */ -- (void)setWL:(float)wl WW:(float)ww; - -/** Current ImageView horizontal flip */ -- (BOOL)xFlipped; - -/** Current ImageView vertical flip */ -- (BOOL)yFlipped; - -/** Current ImageView rotation */ -- (float)rotation; - -/** Set rotation for current ImageView */ -- (void)setRotation:(float)rotation; - -/** Set origin for current ImageView */ -- (void)setOrigin:(NSPoint) o; - -/** Current ImageView zoom */ -- (float)scaleValue; - -/** Set zoom for current ImageView */ -- (void)setScaleValue:(float)scaleValue; - -/** Set vertical flip for current ImageView */ -- (void)setYFlipped:(BOOL) v; - -/** Set horizontal flip for current ImageView */ -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -/** Returns the VRController for this ViewerController; creating one if necessary -* See VRController for modes - */ -- (VRController *)openVRViewerForMode:(NSString *)mode; - -/** Returns the VRPROController for this ViewerController; creating one if necessary -* See VRController for modes -*/ -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; - -/** Returns the OrthogonalMPRViewer for this ViewerController; creating one if necessary */ -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; - -/** Returns the OrthogonalMPRPETCTViewer for this ViewerController; creating one if necessary */ -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; - -/** Returns the MPR2DController for this ViewerController; creating one if necessary */ -- (MPR2DController *)openMPR2DViewer; - -/** Returns the EndoscopyViewer for this ViewerController; creating one if necessary */ -- (EndoscopyViewer *)openEndoscopyViewer; - -/** Returns the SRController for this ViewerController; creating one if necessary */ -- (SRController *)openSRViewer; - -/** Current SeriesView */ -- (SeriesView *) seriesView; - -/** Tiles the DCMView in the SeriesView of the current ViewerController -* This tiles images within a series. -* @param rows number of rows to tile -* @param columns number of columns -*/ -- (void)setImageRows:(int)rows columns:(int)columns; - -/** Tile the images within the active ViewerController -* Tiling based on tag of menu item -* 16 possible arrangements -* rows = (tag / 4) + 1; -* columns = (tag % 4) + 1; -* - (void)setImageRows:(int)rows columns:(int)columns then called -*/ -- (IBAction)setImageTiling: (id)sender; - -#pragma mark- -#pragma mark Calcium scoring -/** Deprecated -* Calcium Scoring moved to a plugin -*/ -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -/** Nonfunctional -* Centerline only works in Endoscopy Mode -*/ -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -/** Group selected ROI together */ -- (IBAction)groupSelectedROIs:(id)sender; -/** Ungroup ROI */ -- (IBAction)ungroupSelectedROIs:(id)sender; - -- (void) turnOffSyncSeriesBetweenStudies:(id) sender; -- (void) exportDICOMFileInt:(int)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(int)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -#pragma mark- -#pragma mark 12 Bit -- (IBAction)enable12Bit:(id)sender; - -#pragma mark- -#pragma mark Navigator -- (IBAction)navigator:(id)sender; -- (void)updateNavigator; - -- (IBAction)threeDPanel:(id)sender; - -@end diff --git a/VolumeGenerator/OsiriX Headers/browserController.h b/VolumeGenerator/OsiriX Headers/browserController.h deleted file mode 100644 index c651964..0000000 --- a/VolumeGenerator/OsiriX Headers/browserController.h +++ /dev/null @@ -1,519 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class LogWindowController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; -@class StructuredReportController; -@class BrowserMatrix; -@class PluginManagerController; - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; -enum dbObjectSelection {oAny,oMiddle,oFirstForFirst}; - -/** \brief Window controller for Browser -* -* This is a large class with a lot of functions. -* Along with managing the Browser Window it manages all the view in the browser -* and manges the database -*/ - -@interface BrowserController : NSWindowController //NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - NSPersistentStoreCoordinator *persistentStoreCoordinator; - - NSDateFormatter *DateTimeFormat, *DateOfBirthFormat, *TimeFormat, *TimeWithSecondsFormat, *DateTimeWithSecondsFormat; - - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *sendQueue; - NSMutableDictionary *bonjourReportFilesToCheck; - - NSMutableArray *previewPix, *previewPixThumbnails; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - LogWindowController *logWindowController; - - NSNumberFormatter *numFmt; - -// NSData *notFoundDataThumbnail; - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer, *bonjourTimer, *deleteQueueTimer, *autoroutingQueueTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long previousBonjourIndex; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - - BOOL setDCMDone, mountedVolume, needDBRefresh, dontLoadSelectionSource; - - NSMutableArray *albumNoOfStudiesCache; - - volatile BOOL shouldDie, bonjourDownloading; - - NSArray *outlineViewArray, *originalOutlineViewArray; - NSArray *matrixViewArray; - - NSString *_searchString; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - NSMenu *columnsMenu; - IBOutlet BrowserMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - IBOutlet PreviewView *imageView; - - int subFrom, subTo, subInterval, subMax; - - IBOutlet NSWindow *subOpenWindow; - IBOutlet NSMatrix *subOpenMatrix3D, *subOpenMatrix4D, *supOpenButtons; - - IBOutlet NSWindow *subSeriesWindow; - IBOutlet NSButton *subSeriesOKButton; - IBOutlet NSTextField *memoryMessage; - IBOutlet NSBox *enoughMem, *notEnoughMem; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; -// IBOutlet NSPredicateEditor *editSmartAlbumPredicate; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *rebuildWindow; - IBOutlet NSMatrix *rebuildType; - IBOutlet NSTextField *estimatedTime, *noOfFilesToRebuild, *warning; - - IBOutlet NSPopUpButton *timeIntervalPopup; - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSView *exportQuicktimeView; - IBOutlet NSButton *exportHTMLButton; - - IBOutlet NSView *exportAccessoryView; - IBOutlet NSButton *addDICOMDIRButton; - IBOutlet NSMatrix *compressionMatrix; - IBOutlet NSMatrix *folderTree; - - NSRecursiveLock *checkIncomingLock; - NSLock *checkBonjourUpToDateThreadLock; - NSTimeInterval lastSaved; - - BOOL showAllImages, DatabaseIsEdited, isNetworkLogsActive, displayEmptyDatabase; - NSConditionLock *queueLock; - - IBOutlet NSScrollView *thumbnailsScrollView; - - NSPredicate *_fetchPredicate; - NSPredicate *_filterPredicate; - NSString *_filterPredicateDescription; - - NSString *fixedDocumentsDirectory; - - char cfixedDocumentsDirectory[ 1024], cfixedIncomingDirectory[ 1024]; - - NSTimeInterval databaseLastModification; - - StructuredReportController *structuredReportController; - - NSMutableArray *deleteQueueArray; - NSLock *deleteQueue, *deleteInProgress; - - NSMutableArray *autoroutingQueueArray; - NSLock *autoroutingQueue, *autoroutingInProgress, *matrixLoadIconsLock; - - NSConditionLock *processorsLock; - NSLock *decompressArrayLock, *decompressThreadRunning; - NSMutableArray *decompressArray; - - NSMutableString *pressedKeys; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *newFilesConditionLock; - NSMutableArray *viewersListToReload, *viewersListToRebuild; - - NSImage *notFoundImage; - - volatile BOOL newFilesInIncoming; - NSImage *standardOsiriXIcon; - NSImage *downloadingOsiriXIcon; - NSImage *currentIcon; - - BOOL rtstructProgressBar; // make visible - float rtstructProgressPercent; - - int DicomDirScanDepth; - - IBOutlet PluginManagerController *pluginManagerController; -} - -@property(readonly) NSDateFormatter *DateTimeFormat; -@property(readonly) NSDateFormatter *DateOfBirthFormat; -@property(readonly) NSDateFormatter *TimeFormat; -@property(readonly) NSDateFormatter *TimeWithSecondsFormat; -@property(readonly) NSDateFormatter *DateTimeWithSecondsFormat; - -@property(readonly) NSArray *matrixViewArray; -@property(readonly) NSMatrix *oMatrix; -@property(readonly) long COLUMN; -@property(readonly) BOOL is2DViewer; -@property(readonly) MyOutlineView *databaseOutline; -@property(readonly) NSTableView *albumTable; -@property(readonly) BOOL isCurrentDatabaseBonjour; -@property(readonly) NSString *currentDatabasePath; -@property(readonly) NSString *localDatabasePath; -@property(readonly) NSString *bonjourPassword; -@property(readonly) long currentBonjourService; - -@property volatile BOOL bonjourDownloading; -@property(readonly) NSBox *bonjourSourcesBox; -@property(readonly) NSTextField *bonjourServiceName; -@property(readonly) NSTextField *bonjourPasswordTextField; -@property(readonly) NSButton *bonjourSharingCheck; -@property(readonly) NSButton *bonjourPasswordCheck; -@property(readonly) BonjourBrowser *bonjourBrowser; - -@property(readonly) NSString *documentsDirectory; -@property(readonly) NSString *fixedDocumentsDirectory; -@property(readonly) char *cfixedDocumentsDirectory, *cfixedIncomingDirectory; - -@property(retain) NSString *searchString; -@property(retain) NSPredicate *fetchPredicate; -@property(readonly) NSPredicate *filterPredicate; -@property(readonly) NSString *filterPredicateDescription; - -@property BOOL rtstructProgressBar; -@property float rtstructProgressPercent; - -@property(readonly) PluginManagerController *pluginManagerController; - -+ (BrowserController*) currentBrowser; -+ (void) replaceNotAdmitted:(NSMutableString*) name; -+ (NSArray*) statesArray; -+ (void) updateActivity; -+ (NSData*) produceJPEGThumbnail:(NSImage*) image; -- (IBAction) createDatabaseFolder:(id) sender; -- (void) openDatabasePath: (NSString*) path; -- (BOOL) shouldTerminate: (id) sender; -- (void) databaseOpenStudy: (NSManagedObject*) item; -- (IBAction) databaseDoublePressed:(id)sender; -- (void) setDBDate; -- (void) setDockIcon; -- (void) showEntireDatabase; -- (IBAction) querySelectedStudy:(id) sender; -- (NSPredicate*) smartAlbumPredicate:(NSManagedObject*) album; -- (NSPredicate*) smartAlbumPredicateString:(NSString*) string; -- (void) emptyDeleteQueueThread; -- (void) emptyDeleteQueue:(id) sender; -- (void) addFileToDeleteQueue:(NSString*) file; -- (NSString*) getNewFileDatabasePath: (NSString*) extension; -- (NSString*) getNewFileDatabasePath: (NSString*) extension dbFolder: (NSString*) dbFolder; -- (NSManagedObjectModel *) managedObjectModel; -- (NSManagedObjectContext *) managedObjectContext; -- (NSManagedObjectContext *) defaultManagerObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject; -- (NSArray*) imagesArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject onlyImages:(BOOL) onlyImages; -- (NSManagedObjectContext *) managedObjectContextLoadIfNecessary:(BOOL) loadIfNecessary; -- (void) setNetworkLogs; -- (BOOL) isNetworkLogsActive; -- (NSTimeInterval) databaseLastModification; -- (IBAction) matrixDoublePressed:(id)sender; -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand extendingSelection: (BOOL) extendingSelection; -- (IBAction) sendiDisk:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; -- (long) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput async: (BOOL) async; -- (NSMutableArray*)copyFilesIntoDatabaseIfNeeded: (NSMutableArray*)filesInput async: (BOOL)async COPYDATABASE: (BOOL) COPYDATABASE COPYDATABASEMODE:(int) COPYDATABASEMODE; --(ViewerController*) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (ViewerController*) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; --(void) exportQuicktimeInt:(NSArray*) dicomFiles2Export :(NSString*) path :(BOOL) html; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer tileWindows: (BOOL) tileWindows; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; -- (NSArray*) exportDICOMFileInt:(NSString*) location files:(NSArray*) filesToExport objects:(NSArray*) dicomFiles2Export; -- (void) processOpenViewerDICOMFromArray:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer: (ViewerController*) viewer; - -- (void) setupToolbar; - -- (NSString*) getDatabaseFolderFor: (NSString*) path; -- (NSString*) getDatabaseIndexFileFor: (NSString*) path; -- (IBAction) copyToDBFolder: (id) sender; -- (void) setCurrentBonjourService:(int) index; -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; -- (IBAction) selectAll3DSeries:(id) sender; -- (IBAction) selectAll4DSeries:(id) sender; -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void)newViewerDICOM:(id) sender; -- (void) viewerDICOMKeyImages:(id) sender; -- (void) viewerDICOMMergeSelection:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (void) setDraggedItems:(NSArray*) pbItems; -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; -- (IBAction) openDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; -- (void) browserPrepareForClose; -- (IBAction) endReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabaseSheet: (id)sender; -- (void) previewSliderAction:(id) sender; -- (void) addHelpMenu; -- (NSString*) _findFirstDicomdirOnCDMedia: (NSString*)startDirectory found:(BOOL) found; -+ (BOOL)isItCD:(NSString*) path; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; - -- (void) resetListenerTimer; -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (NSArray*) addFilesAndFolderToDatabase:(NSArray*) filenames; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject context: (NSManagedObjectContext*) context dbFolder:(NSString*) dbFolder; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -//- (void)runSendQueue:(id)object; -//- (void)addToQueue:(NSArray *)array; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; -//- (void)reloadSendLog:(id)sender; -- (void) pdfPreview:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; -- (BOOL) checkBurner; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; -- (void) refreshSmartAlbums; -- (void) refreshAlbums; -- (void) waitForRunningProcesses; - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - -- (void) refreshDatabase:(id) sender; -- (void) syncReportsIfNecessary: (int) index; -- (void) removeAllMounted; - -//bonjour -- (void) getDICOMROIFiles:(NSArray*) files; -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) setBonjourSharingEnabled:(BOOL) boo; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) askPassword; -- (void) resetToLocalDatabase; -- (void) createContextualMenu; -- (void) checkIncomingThread:(id) sender; -- (void) checkIncoming:(id) sender; -- (NSArray*) openSubSeries: (NSArray*) toOpenArray; -- (IBAction) checkMemory:(id) sender; -- (IBAction) buildAllThumbnails:(id) sender; -- (IBAction) mergeStudies:(id) sender; - -// Finding Comparisons -- (NSArray *)relatedStudiesForStudy:(id)study; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectoryFor:(int) mode url:(NSString*) url; -- (NSString *)setFixedDocumentsDirectory; -- (IBAction)showLogWindow: (id)sender; -- (void) resetLogWindowController; - -- (NSString *)folderPathResolvingAliasAndSymLink:(NSString *)path; - -- (void)setFilterPredicate:(NSPredicate *)predicate description:(NSString*) desc; -- (NSPredicate *)createFilterPredicate; -- (NSString *)createFilterDescription; - -- (IBAction) generateReport: (id) sender; -- (IBAction) deleteReport: (id) sender; -- (IBAction)srReports: (id)sender; - -- (IBAction) rebuildThumbnails:(id) sender; - -- (NSArray *)databaseSelection; - -- (void) newFilesGUIUpdateRun:(int) state; -- (void) newFilesGUIUpdateRun: (int) state viewersListToReload: (NSMutableArray*) cReload viewersListToRebuild: (NSMutableArray*) cRebuild; -- (void) newFilesGUIUpdate:(id) sender; - -- (IBAction) decompressSelectedFiles:(id) sender; -- (IBAction) compressSelectedFiles:(id) sender; -- (void) decompressArrayOfFiles: (NSArray*) array work:(NSNumber*) work; -- (void) decompressThread: (NSNumber*) typeOfWork; - --(void) compressDICOMJPEG:(NSString*) compressedPath; --(void) decompressDICOMJPEG:(NSString*) compressedPath; - -- (void) refreshMatrix:(id) sender; -- (void)updateReportToolbarIcon:(NSNotification *)note; - -- (void) initAnimationSlider; - -+ (NSString*) DateTimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) TimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) DateOfBirthFormat:(NSDate*) d; -+ (NSString*) DateTimeFormat:(NSDate*) d; -+ (NSString*) TimeFormat:(NSDate*) t; - -- (int) findObject:(NSString*) request table:(NSString*) table execute: (NSString*) execute elements:(NSString**) elements; - -- (void) executeSend :(NSArray*) samePatientArray server:(NSDictionary*) server; - -- (void)writeMovie:(NSArray*)imagesArray name:(NSString*)fileName; -- (void) buildThumbnail:(NSManagedObject*) series; - -/******Notifactions posted by browserController*********** -@"NewStudySelectedNotification" with userinfo key @"Selected Study" posted when a newStudy is selected in the browser -@"Close All Viewers" posted when close open windows if option key pressed. -@"DCMImageTilingHasChanged" when image tiling has changed -OsirixAddToDBNotification posted when files are added to the DB -*/ - -@end diff --git a/VolumeGenerator/OsiriX Headers/dicomFile.h b/VolumeGenerator/OsiriX Headers/dicomFile.h deleted file mode 100644 index 50db680..0000000 --- a/VolumeGenerator/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,121 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - -/** \brief Parses files for importing into the database */ - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; /**< Test for TIFF file format */ -+ (BOOL) isFVTiffFile:(NSString *) file; /**< Test for FV TIFF file format */ -+ (BOOL) isNIfTIFile:(NSString *) file; /**< Test for Nifti file format */ -+ (BOOL) isDICOMFile:(NSString *) file; /**< Test for DICOM file format */ -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; /**< Test for DICOM file format, returns YES for compressed BOOL if Transfer syntax is compressed. */ -+ (BOOL) isXMLDescriptedFile:(NSString *) file; /**< Test for XML descripted file format */ -+ (BOOL) isXMLDescriptorFile:(NSString *) file; /**< Test for XML descriptor file format. Fake DICOM for other files with XML descriptor*/ -+ (void) setFilesAreFromCDMedia: (BOOL) f; /**< Set flag for filesAreFromCDMedia */ -+ (void) setDefaults; /**< Set DEFAULTSSET flag to NO */ -+ (void) resetDefaults; /**< Resets to user defaults */ -/** Return string with invalid characters replaced -* replaces @"^" with @" " -* replaces @"/" with @"-" -* replaces @"\r" with @"" -* replaces @"\n" with @"" -* @":" withString:@"-" -* removes empty space at end of strings -*/ -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; /**< Same as NSreplaceBadCharacter, but using char* and encodings */ -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; /**< Convert char* str with NSStringEncoding* encoding to NSString */ -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; /**< Converts NIfTI to XML */ - - -- (long) NoOfFrames; /**< Number of frames in the file */ -- (long) getWidth; /**< Returns image width */ -- (long) getHeight; /**< Return image Height */ -- (long) NoOfSeries; /**< Returns number of seris in the file */ -- (id) init:(NSString*) f; /**< Init with file at location NSString* f */ -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; /**< init with file at location NSString* f DICOM files only if DICOMOnly = YES */ -- (id) initRandom; /**< Inits and returns an empty dicomFile */ -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; /**< Init with XMLDescriptor for information and f for image data */ -- (NSString*) patientUID; /**< Returns the patientUID */ - -/** Returns a dictionary of the elements used to import into the database -* Keys: -* @"studyComment", @"studyID", @"studyDescription", @"studyDate", @"modality", @"patientID", @"patientName", -* @"patientUID", @"fileType", @"commentsAutoFill", @"album", @"SOPClassUID", @"SOPUID", @"institutionName", -* @"referringPhysiciansName", @"performingPhysiciansName", @"accessionNumber", @"patientAge", @"patientBirthDate", -* @"patientSex", @"cardiacTime", @"protocolName", @"sliceLocation", @"imageID", @"seriesNumber", @"seriesDICOMUID", -* @"studyNumber", @"seriesID", @"hasDICOM" -* */ - -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; /**< Returns the dicomElement for the key */ -- (short)getPluginFile; /**< Looks for a plugin to decode the file. If one is found decodes the file */ -/** Parses the fileName to get the Series/Study/Image numbers -* Used for files that don't have the information embedded such as TIFFs and jpegs -* In these cases the files are sorted based on the file name. -* Numbers at the end become the image number. The remainder of the file becomes the Series and Study ID -*/ -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; /**< Decodes the file using the DCM Framework Returns -1 for failure 0 for success*/ - - --(short) getDicomFile; /**< Decode DICOM. Returns -1 for failure 0 for success */ --(short) getNIfTI; /**< Decode NIfTI Returns -1 for failure 0 for success */ - - -/** Returns the COMMENTSAUTOFILL default. -* If Yes, comments will be filled from the DICOM tag commentsGroup/commentsElement -*/ -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; /**< Returns the splitMultiEchoMR default If YES, splits multi echo series into separate series by Echo number. */ -- (BOOL)useSeriesDescription; /**< Returns the useSeriesDescription default. */ -- (BOOL)noLocalizer; /**< Returns the NOLOCALIZER default. */ -- (BOOL)combineProjectionSeries; /**< Returns the combineProjectionSeries default. If YES, combines are projection Modalities: CR, DR into one series. */ -- (BOOL)oneFileOnSeriesForUS; /**< Returns the oneFileOnSeriesForUS default */ -- (BOOL)combineProjectionSeriesMode; /**< Returns the combineProjectionSeriesMode default. */ -- (BOOL)checkForLAVIM; /**< Returns the CHECKFORLAVIM default. */ -- (BOOL)separateCardiac4D; /**< Returns the SEPARATECARDIAC4D default. If YES separates cardiac studies into separate gated series. */ -- (int)commentsGroup; /**< Returns the commentsGroup default. The DICOM group to get comments from. */ -- (int)commentsElement; /**< Returns the commentsGroup default. The DICOM element to get get comments from. */ -@end - - diff --git a/XML-RPC-Plugin/OsiriX Headers/DCMPix.h b/XML-RPC-Plugin/OsiriX Headers/DCMPix.h deleted file mode 100644 index bda68d5..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,628 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; -@class DCMObject; -@class Point3D; - -/** \brief Represents an image for display */ - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; /**< source File */ - BOOL isBonjour; /**< Flag to indicate if file is accessed over Bonour */ - BOOL nonDICOM; /**< Flag to indicate if file is not DICOM */ - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; /**< Core data object for image */ - xNSImage *image; /**< buffer for creating an NSImage */ - short *oImage; /**< short buffer of image Data */ - float *fImage /**< float buffer of image Data */, *fVolImage; /**< float buffer of volume Data */ - char *wImage; /**< ? */ - -//DICOM TAGS - -// orientation - Point3D *origin; - double originX /**< x position of image origin */ , originY /**< y Position of image origin */ , originZ /**< Z position of image origin*/; - double orientation[ 9]; /**< pointer to orientation vectors */ - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSData *transferFunction; - float *transferFunctionPtr; - -/** custom annotations */ - NSMutableDictionary *annotationsDictionary; - NSMutableDictionary *cachedPapyGroups; -} - -@property long frameNo; -@property(setter=setID:) long ID; - -@property float minValueOfSeries, maxValueOfSeries; - -// Dimensions in pixels -@property long pwidth, pheight; - -/** Is it an RGB image (ARGB) or float image? -Note setter is different to not break existing usage. :-( */ -@property(setter=setRGB:) BOOL isRGB; - -/** Pointer to image data */ -@property(setter=setfImage:) float* fImage; - -/** WW & WL */ -@property(readonly) float ww, wl, fullww, fullwl; -@property float savedWW, savedWL; - -@property(readonly) float slope, offset; - -/** X/Y ratio - non-square pixels */ -@property double pixelRatio; - -/** pixel size */ -@property double pixelSpacingX, pixelSpacingY; - -/** Slice orientation */ -- (void)orientation:(float*) c; -- (void)setOrientation:(float*) c; - -- (void)orientationDouble:(double*) c; -- (void)setOrientationDouble:(double*) c; - -/** Slice location */ -@property(readonly) double originX, originY, originZ; - -- (void)setOrigin :(float*) o; -- (void)setOriginDouble :(double*) o; - -/** Axial Location */ -@property double sliceLocation; -/** Slice Thickness */ -@property double sliceThickness; -/** Slice Interval */ -@property double sliceInterval; -/** Gap between slices */ -@property(readonly) double spacingBetweenSlices; - -/** 8-bit TransferFunction */ -@property(retain) NSData *transferFunction; - -@property NSPoint subPixOffset; - -@property long DCMPixShutterRectWidth, DCMPixShutterRectHeight; -@property long DCMPixShutterRectOriginX, DCMPixShutterRectOriginY; - -@property(retain) NSString *repetitiontime, *echotime; -@property(readonly) NSString *flipAngle, *laterality; - -@property(readonly) NSString *protocolName; -@property(readonly) NSString *viewPosition; -@property(readonly) NSString *patientPosition; - -@property char* baseAddr; - -@property long rowBytes; -@property(readonly) long serieNo; - -@property(getter=Tot, setter=setTot:) long Tot; - -@property(readonly) short stack, stackMode; -@property(readonly) BOOL generated; -@property(retain) NSString *sourceFile; - -/** Database links */ -@property(readonly) NSManagedObject *imageObj, *seriesObj; -@property(readonly) NSString *srcFile; -@property(readonly) NSMutableDictionary *annotationsDictionary; - -// Properties (aka accessors) needed for SUV calculations -@property(readonly) float philipsFactor; -@property float patientsWeight; -@property float halflife; -@property float radionuclideTotalDose; -@property float radionuclideTotalDoseCorrected; -@property(retain) NSCalendarDate *acquisitionTime; -@property(retain) NSCalendarDate *radiopharmaceuticalStartTime; -@property BOOL SUVConverted; -@property(readonly) BOOL hasSUV; -@property float decayFactor; -@property(retain) NSString *units, *decayCorrection; -@property BOOL displaySUVValue; - -- (void) copySUVfrom: (DCMPix*) from; /**< Copy the SUV from another DCMPic */ -- (float) getPixelValueX: (long) x Y:(long) y; /**< Get the pixel for a point with x,y coordinates */ - -- (void) checkSUV; /**< Makes sure all the necessary values for SUV calculation are present */ - -+ (void) checkUserDefaults: (BOOL) update; /**< Check User Default for needed setting */ -+ (void) resetUserDefaults; /**< Reset the defaults */ - /** Determine if a point is inside a polygon - * @param x is the NSPoint to check. - * @param poly is a pointer to an array of NSPoints. - * @param count is the number of - * points in the polygon. -*/ -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - - -- (void) changeWLWW:(float)newWL :(float)newWW; /**< Change window level to window width to the new values */ -- (void) computePixMinPixMax; /**< Compute the min and max values in the image */ - -// Compute ROI data -/** Calculates the cofactor used Calcium scoring. -* Depends on the threshold used for scoring -* Threshold is usually 90 or 120 depending on whether the source is -* Electron Beam or Multislice CT -*/ -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; - -/** returns calculated values for ROI: -* mean, total, deviation, min, max -*/ -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -/** Not sure when this is used rather than computeROI: */ -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack -* @param stackNo -* @param restore -* @param addition -*/ -- (void) fillROI:(ROI*) roi newVal:(float) newVal minValue:(float) minValue maxValue:(float) maxValue outside:(BOOL) outside orientationStack:(long) orientationStack stackNo:(long) stackNo restore:(BOOL) restore addition:(BOOL) addition; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientationStack ? -* @param stackNo -* @param restore -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; - -/** Fill a ROI with a value -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue lower threshold -* @param maxValue upper threshold -* @param outside if YES replace outside the ROI -* @param orientation -* @param stackNo -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; - -/** Fill a ROI with a value. -* @param roi Selected ROI -* @param newVal The replacement value -* @param minValue Lower threshold -* @param maxValue Upper threshold -* @param outside If YES replace outside the ROI -*/ -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi size:(NSSize*) size origin:(NSPoint*) origin; /**< Map from Polygon ROI */ - -/** Is this Point (pt) in this ROI ? */ -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; - -/** Returns a pointer with all pixels values contained in the current ROI -* User must Free the pointer with the free() function -* Returns reference number of pixels in numberOfValues -* Returns a pointer to the pixel locations. Each point has the x position followed by the y position -* Locations is malloced but not freed -*/ -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -* using current slice location and orientation -*/ --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; - -/** Utility methods to convert user supplied pixel coords to DICOM patient coords double d[3] (in mm) -* using current slice location and orientation -*/ --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - -/** convert DICOM coordinated to slice coordinates */ --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; - -/** convert DICOM coordinated to slice coordinates */ --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - - -/** Return index & sliceCoords */ -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; - - - -- (BOOL) thickSlabVRActivated; /**< Activate Thick Slab VR */ - -/** convert to Black and White. -* @param mode values: 0 Use Red Channel, 1 use Green Channel 2 use Blue Channel 3 Merge and use RGB -*/ -- (void) ConvertToBW:(long) mode; - -/** convert to RGB. -* @param mode values: 0 create Red Channel, 1 create Green Channel 2 create Blue Channel 3 create all channels -* @param cwl = window level to use -* @param cww = window width to use -*/ -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; - -- (float) cineRate; /**< Returns the Cine rate */ - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -//- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; /**< Returns an Empty object */ -- (short*) kernel; -- (short) normalization; -- (short) kernelsize; - -/** calls -* myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO -* with hello = NO and iO = 0L -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; - -/** Initialize -* doesn't load pix data, only initializes instance variables -* @param s filename -* @param pos imageID Position in array. -* @param tot imTot Total number of images. -* @param ptr pointer to volume -* @param f frame number -* @param ss series number -* @param hello flag to indicate remote bonjour file -* @param iO coreData image Entity for image -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; - -/** init with data pointer -* @param im pointer to image data -* @param pixelSize pixelDepth in bits -* @param xDim image width -* @param yDim =image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; - -/** init with data pointer -* @param im = pointer to image data -* @param pixelSize = pixelDepth in bits -* @param xDim image width -* @param yDim image height -* @param xSpace pixel width -* @param ySpace pxiel height -* @param oX x position of origin -* @param oY y position of origin -* @param oZ z position of origin -* @param volSize ? -*/ -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (id) initWithImageObj: (NSManagedObject *)entity; -- (id) initWithContentsOfFile: (NSString *)file; -/** create an NSImage from the current pix -* @param smallIcon thumbnail size -* @param newWW window width to use -* @param newWL window level to use; -*/ -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; - -/** create an NSImage from the current pix using the current ww/wl. Full size*/ -- (NSImage*) image; - -/** reeturns the current image. returns nil if no image has be previously created */ -- (NSImage*) getImage; - -/** A pointer to the orientation. 9 values in length. 3 for each axis. */ -- (void) orientation:(float*) c; - -/** Sets the orientation. 9 values in length. 3 for each axis. */ -- (void) setOrientation:(float*) c; - -/** A short pointer to the image data */ -- (short*) oImage; - -/** Releases the current NSImage */ -- (void) kill8bitsImage; - - -/** if no image. Creates one using -* computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL -*/ -- (void) checkImageAvailble:(float)newWW :(float)newWL; - -/** Load the DICOM image using the DCMFramework. -* There should be no reason to call this. The class will call it when needed. */ -- (BOOL)loadDICOMDCMFramework; - -/** Load the DICOM image using Papyrus. -* There should be no reason to call this. The class will call it when needed. -*/ -- (BOOL) loadDICOMPapyrus; - -/** Reset the Annotations */ -- (void) reloadAnnotations; - - -/** Parses the file. Extracts necessary data. Load image data. -* This class will be called by the class when necessay. -* There should be no need to call it externally -*/ -- (void) CheckLoadIn; - -/** Calls CheckLoadIn when needed */ -- (void) CheckLoad; - -/** Compute the float pointer for the image data */ -- (float*) computefImage; - -/** Sets fusion paramaters -* @param m stack mode -* @param s stack -* @param direction stack direction -*/ --(void) setFusion:(short) m :(short) s :(short) direction; - -/** Sets updateToBeApplied to YES. It is called whenver a setting has been changed. -* Should be called by the class automatically when needed */ --(void) setUpdateToApply; - - -/** Releases the fImage and sets all values to nil. */ -- (void)revert; - -/** finds the min and max pixel values. -* Sets the appropriate values for fullWW and fullWL -*/ -- (void) computePixMinPixMax; - -/** Sets the ThickSlabController */ -- (void) setThickSlabController:( ThickSlabController*) ts; - - -/** Sets the fixed8bitsWLWW flag */ -- (void) setFixed8bitsWLWW:(BOOL) f; - -/** Creates a DCMPix with the original values and places it in the restore cache*/ -- (void) prepareRestore; - - -/** Releases the restored DCMPix from the restoreCache */ -- (void) freeRestore; - -/** Sets flag for when OsiriX is running in protected mode */ -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; - -/** Returns flag for protected mode */ -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -/** Clears the papyrus group cache */ -- (void) clearCachedPapyGroups; - -/** Returns a pointer the the papyrus group -* @param group group -* @param fileNb papyrus file -*/ -- (void *) getPapyGroup: (int)group fileNb: (int)fileNb; - -/** create ROIs from RTSTRUCT */ -- (void)createROIsFromRTSTRUCT: (DCMObject*)dcmObject; - -#ifdef OSIRIX_VIEWER - -/** Custom Annotations */ -- (void)loadCustomImageAnnotationsPapyLink:(int)fileNb DCMLink:(DCMObject*)dcmObject; - - -/** Set flag to anonymize the annotations */ -+ (BOOL) setAnonymizedAnnotations: (BOOL) v; -#endif - -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/DCMView.h b/XML-RPC-Plugin/OsiriX Headers/DCMView.h deleted file mode 100644 index 579ca28..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,451 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - -typedef enum {DCMViewTextAlignLeft, DCMViewTextAlignCenter, DCMViewTextAlignRight} DCMViewTextAlign; - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -/** \brief Image/Frame View for ViewerController */ - -@interface DCMView: NSOpenGLView -{ - NSInteger _imageRows; - NSInteger _imageColumns; - NSInteger _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], opaqueTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - float sliceVector[ 3], slicePoint[ 3], slicePointO[ 3], slicePointI[ 3]; - float sliceVector2[ 3], slicePoint2[ 3], slicePointO2[ 3], slicePointI2[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - NSTimer *mouseModifiers; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight, currentMouseEventTool; - - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - NSSize scaleStart, scaleInit; - - double resizeTotal; - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; - long textureY, blendingTextureY; - GLuint * pTextureName; - GLuint * blendingTextureName; - long textureWidth, blendingTextureWidth; - long textureHeight, blendingTextureHeight; - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - BOOL cursorSet; - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSTimer *_rightMouseDownTimer; //Checking For Right hold - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged, needToLoadTexture; - - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - NSDictionary *_hotKeyDictionary; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible, updateNotificationRunning; - - char *resampledBaseAddr, *blendingResampledBaseAddr; - char *resampledTempAddr; - BOOL zoomIsSoftwareInterpolated; - - int resampledBaseAddrSize, blendingResampledBaseAddrSize; - - // iChat - float iChatWidth, iChatHeight; - unsigned char* iChatCursorTextureBuffer; - GLuint iChatCursorTextureName; - NSSize iChatCursorImageSize; - NSPoint iChatCursorHotSpot; - - GLuint iChatFontListGL; - NSFont *iChatFontGL; - long iChatFontListGLSize[ 256]; - NSMutableDictionary *iChatStringTextureCache; - NSSize iChatStringSize; - NSRect drawingFrameRect; -} - -@property(readonly) NSRect drawingFrameRect; -@property(readonly) NSMutableArray *rectArray; -@property BOOL flippedData; -@property(readonly) NSMutableArray *dcmPixList, *dcmRoiList; -@property(readonly) NSArray *dcmFilesList; -@property long syncSeriesIndex; -@property float syncRelativeDiff; -@property NSPoint cross; -@property NSPoint crossPrev; -@property float slab; -@property long blendingMode; -@property(retain,setter=setBlending:) DCMView *blendingView; -@property(readonly) float blendingFactor; -@property BOOL xFlipped, yFlipped; -@property(retain) NSString *stringID; -@property(readonly) float angle; -@property short currentTool; -@property(setter=setRightTool:) short currentToolRight; -@property(readonly) short curImage; -@property(retain) NSMatrix *theMatrix; -@property(readonly) BOOL suppressLabels; -@property float scaleValue, rotation; -@property NSPoint origin, originOffset; -@property(readonly) double pixelSpacing, pixelSpacingX, pixelSpacingY; -@property(readonly) DCMPix *curDCM; -@property(readonly) float mouseXPos, mouseYPos; -@property(readonly) float contextualMenuInWindowPosX, contextualMenuInWindowPosY; -@property(readonly) GLuint fontListGL; -@property(readonly) NSFont *fontGL; -@property NSInteger tag; -@property(readonly) float curWW, curWL; -@property NSInteger rows, columns; -@property(readonly) NSCursor *cursor; -@property BOOL eraserFlag; -@property BOOL drawing; -@property BOOL volumicSeries; -@property(readonly) BOOL isKeyView; - -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (void) gClickCountSetReset; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels :(BOOL) allTiles; -- (unsigned char*) getRawPixelsView:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT textureWidth: (long*) tW textureHeight:(long*) tH resampledBaseAddr:(char**) rAddr resampledBaseAddrSize:(int*) rBAddrSize; -- (short)syncro; -- (void)setSyncro:(short) s; - -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (void) sendSyncMessage:(short) inc; -- (void) loadTextures; -- (void)loadTexturesCompute; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (NSPoint) rotatePoint:(NSPoint) a; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginX:(float) x Y:(float) y; -- (void) setOriginOffset:(NSPoint) x; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) sync:(NSNotification*)note; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (BOOL)checkHasChanged; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY :(long) tW :(long) tH; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawNSStringGL:(NSString*)str :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void)DrawCStringGL:(char*)cstrOut :(GLuint)fontL :(long)x :(long)y align:(DCMViewTextAlign)align useStringTexture:(BOOL)stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) drawImage:(NSImage *)image inBounds:(NSRect)rect; -- (void) setScaleValueCentered:(float) x; -- (void) updateCurrentImage: (NSNotification*) note; -- (void) setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void) updateTilingViews; -- (void) becomeMainWindow; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void) updatePresentationStateFromSeries; -- (void) updatePresentationStateFromSeriesOnlyImageLevel: (BOOL) onlyImage; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) updateImage; -- (BOOL) shouldPropagate; -- (NSPoint) convertFromView2iChat: (NSPoint) a; -- (void) annotMenu:(id) sender; -- (float) MPRAngle; - -// methods to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; -- (void) roiLoadFromFilesArray: (NSArray*) filenames; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/MyPoint.h b/XML-RPC-Plugin/OsiriX Headers/MyPoint.h deleted file mode 100644 index f71cdb3..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,38 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - -/** \brief Wrapper for NSPoint */ - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/OSIWindowController.h b/XML-RPC-Plugin/OsiriX Headers/OSIWindowController.h deleted file mode 100644 index 3a29fe2..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/OSIWindowController.h +++ /dev/null @@ -1,54 +0,0 @@ -// -// OSIWindowController.h -// OsiriX -// -// Created by Lance Pysher on 12/11/06. -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -/** \brief base class for Window Controllers in OsiriX -* -*Root class for the Viewer Window Controllers such as ViewerController -*and Window3DController -*/ - -#import - - -enum OsiriXBlendingTypes {BlendingPlugin = -1, BlendingFusion = 1, BlendingSubtraction, BlendingMultiplication, BlendingRed, BlendingGreen, BlendingBlue, Blending2DRegistration, Blending3DRegistration, BlendingLL}; - - -@interface OSIWindowController : NSWindowController { - int _blendingType; -} - -- (NSMutableArray*) pixList; -- (void)windowWillClose:(NSNotification *)notification; -- (void) addToUndoQueue:(NSString*) what; -- (int)blendingType; - -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; - -- (void) applyShading:(id) sender; - -#pragma mark- -#pragma mark current Core Data Objects -- (NSManagedObject *)currentStudy; -- (NSManagedObject *)currentSeries; -- (NSManagedObject *)currentImage; - -- (float)curWW; -- (float)curWL; -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/PluginFilter.h b/XML-RPC-Plugin/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 307d2d8..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,77 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - - -/** \brief Base class for plugins */ -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -/** This function is called to apply your plugin */ -- (long) filterImage: (NSString*) menuName; - -/** This function is the entry point of Pre-Process plugins */ -- (long) processFiles: (NSArray*) files; - -/** This function is the entry point of Report plugins -* action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -* action = @"deleteReport" -> return 0L, delete the report -* action = @"openReport" -> return 0L, open and display the report, create a new one if no report available -*/ -- (id) report: (NSManagedObject*) study action:(NSString*) action; - - - -/** This function is called at the OsiriX startup, if you need to do some memory allocation, etc. */ -- (void) initPlugin; - -/** Opportunity for plugins to make Menu changes if necessary */ - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -/** Return the complete lists of opened studies in OsiriX */ -/** NSArray contains an array of ViewerController objects */ -- (NSArray*) viewerControllersList; - -/** Create a new 2D window, containing a copy of the current series */ -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. -/** Stub is to be subclassed by report filters */ -- (id)reportDateForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)deleteReportForStudy: (NSManagedObject*)study; -/** Stub is to be subclassed by report filters */ -- (void)createReportForStudy: (NSManagedObject*)study; - -/** PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY */ -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/ROI.h b/XML-RPC-Plugin/OsiriX Headers/ROI.h deleted file mode 100644 index f484529..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/ROI.h +++ /dev/null @@ -1,241 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" - -#import - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -/** \brief ROI */ - -@interface ROI : NSObject -{ - NSLock *roiLock; - - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - - NSMutableArray *ctxArray; //All contexts where this texture is used - NSMutableArray *textArray; //All texture id - - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - double _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer, canResizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -@property(readonly) int textureWidth, textureHeight; -@property(readonly) int textureDownRightCornerX,textureDownRightCornerY, textureUpLeftCornerX, textureUpLeftCornerY; -@property(readonly) unsigned char *textureBuffer; -@property float opacity; -@property(retain) NSString *name, *comments; -@property(readonly) long type; -@property(setter=setROIMode:) long ROImode; -@property(retain) NSMutableArray *points; // Return/set the points state of the ROI -@property(readonly) NSMutableArray *zPositions; -@property(readonly) BOOL clickInTextBox; -@property(setter=setROIRect:) NSRect rect; // To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -@property(retain) DCMPix *pix; // The DCMPix associated to this ROI -@property(readonly) DCMView *curView; // The DCMView associated to this ROI -@property float mousePosMeasure; -@property(readonly) NSData *data; -@property(setter=setColor:) RGBColor rgbcolor; -@property float thickness; -@property(retain) ROI *parentROI; -@property double sliceThickness; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -@property(retain) NSString *defaultName; - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; - -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; - -- (void)displayTexture; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; -- (float) Length:(NSPoint) mesureA :(NSPoint) mesureB; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (BOOL) deleteSelectedPoint; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -- (void) deleteTexture:(NSOpenGLContext*) c; - -- (void)setCanResizeLayer:(BOOL)boo; - - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; - -@property BOOL displayCalciumScoring; -@property int calciumThreshold; - -@property(retain) NSString *layerReferenceFilePath; -@property(retain) NSImage *layerImage; -@property float layerPixelSpacingX, layerPixelSpacingY; - -- (GLuint)loadLayerImageTexture; -- (void)generateEncodedLayerImage; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -@property(retain) NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; -@property NSTimeInterval groupID; - -- (NSPoint) lowerRightPoint; - -@property BOOL isLayerOpacityConstant; -@property BOOL canColorizeLayer; -@property BOOL displayTextualData; -@property(readonly) NSPoint clickPoint; - -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/Schedulable.h b/XML-RPC-Plugin/OsiriX Headers/Schedulable.h deleted file mode 100644 index 6a05f3e..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/Schedulable.h +++ /dev/null @@ -1,22 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Protocol for multithreading scheduling*/ -@protocol Schedulable --(void)performWorkUnits:(NSSet *)workUnits forScheduler:(Scheduler *)scheduler; -@end \ No newline at end of file diff --git a/XML-RPC-Plugin/OsiriX Headers/Scheduler.h b/XML-RPC-Plugin/OsiriX Headers/Scheduler.h deleted file mode 100644 index 0359200..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/Scheduler.h +++ /dev/null @@ -1,68 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import - -@protocol Schedulable; - -/** \brief Does multithreading scheduling*/ -@interface Scheduler : NSObject { - @private - id _delegate; // Delegate - id _schedulableObject; // Object which has work units to be scheduled - NSMutableSet *_workUnitsRemaining; // Work units not yet performed in schedule - NSLock *_remainingUnitsLock; // Lock to keep the remaining work units set consistent - BOOL _scheduleWasCancelled; // Flag set when schedule is cancelled - unsigned _numberOfThreads; // Number of simultaneous threads used to perform work - unsigned _numberOfDetachedThreads; // The current number of worker threads detached. -} - --(id)initForSchedulableObject:(id )schedObj andNumberOfThreads:(unsigned)numThreads; --(id)initForSchedulableObject:(id )schedObj; --(void)dealloc; - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(void)cancelSchedule; - -// Template method. Overload in subclasses --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -// Accessors --(unsigned)numberOfThreads; --(unsigned) numberOfDetachedThreads; - --(id)delegate; --(void)setDelegate:(id)delegate; - --(id )schedulableObject; - --(NSMutableSet *)_workUnitsRemaining; - -@end - -@interface Scheduler (SchedulerDelegateMethods) - -// Sent in the main thread --(void)schedulerWillBeginSchedule:(Scheduler *)sender; - -// The following are sent in the worker thread --(BOOL)scheduler:(Scheduler *)scheduler shouldBeginUnits:(NSSet *)units; --(void)scheduler:(Scheduler *)scheduler didCompleteUnits:(NSSet *)units; - -// Sent in the main thread --(void)schedulerDidCancelSchedule:(Scheduler *)scheduler; --(void)schedulerDidFinishSchedule:(Scheduler *)scheduler; - -@end \ No newline at end of file diff --git a/XML-RPC-Plugin/OsiriX Headers/StaticScheduler.h b/XML-RPC-Plugin/OsiriX Headers/StaticScheduler.h deleted file mode 100644 index b6724cd..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/StaticScheduler.h +++ /dev/null @@ -1,28 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import "Scheduler.h" - -/** \brief Static multithreaded Scheduler */ -@interface StaticScheduler : Scheduler { - @private - int _numberOfThreadsLeft; // Used to keep track of how many threads already have work -} - --(void)performScheduleForWorkUnits:(NSSet *)workUnits; --(NSSet *)_workUnitsToExecuteForRemainingUnits:(NSSet *)remainingUnits; - -@end \ No newline at end of file diff --git a/XML-RPC-Plugin/OsiriX Headers/ViewerController.h b/XML-RPC-Plugin/OsiriX Headers/ViewerController.h deleted file mode 100644 index 3a21bf5..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,737 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -/** \brief Window Controller for 2D Viewer*/ - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSSegmentedControl *blendingTypeRGB; - IBOutlet NSPopUpButton *blendingPlugins; - IBOutlet NSButton *blendingResample; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - IBOutlet NSButton *imageAllViewers; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies, titledGantry, updateTilingViews; - - float resampleRatio; - - NSRect savedWindowsFrame; - - ViewerController *registeredViewer; - - NSMutableArray *retainedToolbarItems; -} - -@property(readonly) short currentOrientationTool; - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) ApplyOpacityString:(NSString*) str; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (long) imageIndex; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (BOOL) updateTilingViewsValue; -- (void) setUpdateTilingViewsValue:(BOOL) v; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction) updateZVector:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor movieIndex:(int) j; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -- (void) displayWarningIfGantryTitled; -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (void)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (NSString*) curOpacityMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (void) selectFirstTilingView; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (IBAction) saveWindowsState:(id) sender; -- (IBAction) loadWindowsState:(id) sender; -- (IBAction) resetWindowsState:(id) sender; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect showWindow:(BOOL) showWindow; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (void) executeRevert; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void)setOrientationToolFrom2DMPR:(id)sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; -- (ViewerController*) registeredViewer; -- (void) setRegisteredViewer: (ViewerController*) viewer; -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; -- (void) refreshToolbar; -- (void) reloadAnnotations; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; -- (ViewerController*) resampleSeries:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (void)setOrigin:(NSPoint) o; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; -- (IBAction)setImageTiling: (id)sender; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - -- (void) turnOffSyncSeriesBetweenStudies:(id) sender; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/browserController.h b/XML-RPC-Plugin/OsiriX Headers/browserController.h deleted file mode 100644 index f9ef263..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/browserController.h +++ /dev/null @@ -1,502 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class LogWindowController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; -@class StructuredReportController; -@class BrowserMatrix; - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; -enum dbObjectSelection {oAny,oMiddle,oFirstForFirst}; - -/** \brief Window controller for Browser -* -* This is a large class with a lot of functions. -* Along with managing the Browser Window it manages all the view in the browser -* and manges the database -*/ - -@interface BrowserController : NSWindowController //NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - NSPersistentStoreCoordinator *persistentStoreCoordinator; - - NSDateFormatter *DateTimeFormat, *DateOfBirthFormat, *TimeFormat, *TimeWithSecondsFormat, *DateTimeWithSecondsFormat; - - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *sendQueue; - NSMutableDictionary *bonjourReportFilesToCheck; - - NSMutableArray *previewPix, *previewPixThumbnails; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - LogWindowController *logWindowController; - - NSNumberFormatter *numFmt; - -// NSData *notFoundDataThumbnail; - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer, *databaseCleanerTimer, *bonjourTimer, *deleteQueueTimer, *autoroutingQueueTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long previousBonjourIndex; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - - BOOL setDCMDone, mountedVolume, needDBRefresh, dontLoadSelectionSource; - - NSMutableArray *albumNoOfStudiesCache; - - volatile BOOL shouldDie, bonjourDownloading; - - NSArray *outlineViewArray, *originalOutlineViewArray; - NSArray *matrixViewArray; - - NSString *_searchString; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - NSMenu *columnsMenu; - IBOutlet BrowserMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSSplitView *sourcesSplitView; - IBOutlet NSBox *bonjourSourcesBox; - - IBOutlet NSTextField *bonjourServiceName, *bonjourPassword; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck, *bonjourPasswordCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - IBOutlet PreviewView *imageView; - - int subFrom, subTo, subInterval, subMax; - - IBOutlet NSWindow *subOpenWindow; - IBOutlet NSMatrix *subOpenMatrix3D, *subOpenMatrix4D, *supOpenButtons; - - IBOutlet NSWindow *subSeriesWindow; - IBOutlet NSButton *subSeriesOKButton; - IBOutlet NSTextField *memoryMessage; - IBOutlet NSBox *enoughMem, *notEnoughMem; - - IBOutlet NSWindow *bonjourPasswordWindow; - IBOutlet NSTextField *password; - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSWindow *editSmartAlbum; - IBOutlet NSTextField *editSmartAlbumName, *editSmartAlbumQuery; - IBOutlet NSPredicateEditor *editSmartAlbumPredicate; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *rebuildWindow; - IBOutlet NSMatrix *rebuildType; - IBOutlet NSTextField *estimatedTime, *noOfFilesToRebuild, *warning; - - IBOutlet NSPopUpButton *timeIntervalPopup; - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - - IBOutlet NSView *exportQuicktimeView; - IBOutlet NSButton *exportHTMLButton; - - IBOutlet NSView *exportAccessoryView; - IBOutlet NSButton *addDICOMDIRButton; - IBOutlet NSMatrix *compressionMatrix; - IBOutlet NSMatrix *folderTree; - - NSRecursiveLock *checkIncomingLock; - NSLock *checkBonjourUpToDateThreadLock; - NSTimeInterval lastSaved; - - BOOL showAllImages, DatabaseIsEdited, isNetworkLogsActive, displayEmptyDatabase; - NSConditionLock *queueLock; - - IBOutlet NSScrollView *thumbnailsScrollView; - - NSPredicate *_fetchPredicate; - NSPredicate *_filterPredicate; - NSString *_filterPredicateDescription; - - NSString *fixedDocumentsDirectory; - - char cfixedDocumentsDirectory[ 1024]; - - NSTimeInterval databaseLastModification; - - StructuredReportController *structuredReportController; - - NSMutableArray *deleteQueueArray; - NSLock *deleteQueue, *deleteInProgress; - - NSMutableArray *autoroutingQueueArray; - NSLock *autoroutingQueue, *autoroutingInProgress, *matrixLoadIconsLock; - - NSConditionLock *processorsLock; - NSLock *decompressArrayLock, *decompressThreadRunning; - NSMutableArray *decompressArray; - - NSMutableString *pressedKeys; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *newFilesConditionLock; - NSMutableArray *viewersListToReload, *viewersListToRebuild; - - NSImage *notFoundImage; - - volatile BOOL newFilesInIncoming; - NSImage *standardOsiriXIcon; - NSImage *downloadingOsiriXIcon; - NSImage *currentIcon; - - BOOL rtstructProgressBar; // make visible - float rtstructProgressPercent; - - int DicomDirScanDepth; -} - -@property(readonly) NSDateFormatter *DateTimeFormat; -@property(readonly) NSDateFormatter *DateOfBirthFormat; -@property(readonly) NSDateFormatter *TimeFormat; -@property(readonly) NSDateFormatter *TimeWithSecondsFormat; -@property(readonly) NSDateFormatter *DateTimeWithSecondsFormat; - -@property(readonly) NSArray *matrixViewArray; -@property(readonly) NSMatrix *oMatrix; -@property(readonly) long COLUMN; -@property(readonly) BOOL is2DViewer; -@property(readonly) MyOutlineView *databaseOutline; -@property(readonly) NSTableView *albumTable; -@property(readonly) BOOL isCurrentDatabaseBonjour; -@property(readonly) NSString *currentDatabasePath; -@property(readonly) NSString *localDatabasePath; -@property(readonly) NSString *bonjourPassword; -@property(readonly) long currentBonjourService; - -@property volatile BOOL bonjourDownloading; -@property(readonly) NSBox *bonjourSourcesBox; -@property(readonly) NSTextField *bonjourServiceName; -@property(readonly) NSTextField *bonjourPasswordTextField; -@property(readonly) NSButton *bonjourSharingCheck; -@property(readonly) NSButton *bonjourPasswordCheck; -@property(readonly) BonjourBrowser *bonjourBrowser; - -@property(readonly) NSString *documentsDirectory; -@property(readonly) NSString *fixedDocumentsDirectory; -@property(readonly) char *cfixedDocumentsDirectory; - -@property(retain) NSString *searchString; -@property(retain) NSPredicate *fetchPredicate; -@property(readonly) NSPredicate *filterPredicate; -@property(readonly) NSString *filterPredicateDescription; - -@property BOOL rtstructProgressBar; -@property float rtstructProgressPercent; - -+ (BrowserController*) currentBrowser; -+ (void) replaceNotAdmitted:(NSMutableString*) name; -+ (NSArray*) statesArray; -+ (void) updateActivity; -+ (NSData*) produceJPEGThumbnail:(NSImage*) image; -- (IBAction) createDatabaseFolder:(id) sender; -- (void) openDatabasePath: (NSString*) path; -- (BOOL) shouldTerminate: (id) sender; -- (void) databaseOpenStudy: (NSManagedObject*) item; -- (IBAction) databaseDoublePressed:(id)sender; -- (void) setDBDate; -- (void) setDockIcon; -- (void) showEntireDatabase; -- (IBAction) querySelectedStudy:(id) sender; -- (NSPredicate*) smartAlbumPredicate:(NSManagedObject*) album; -- (NSPredicate*) smartAlbumPredicateString:(NSString*) string; -- (void) emptyDeleteQueueThread; -- (void) emptyDeleteQueue:(id) sender; -- (void) addFileToDeleteQueue:(NSString*) file; -- (NSString*) getNewFileDatabasePath: (NSString*) extension; -- (NSString*) getNewFileDatabasePath: (NSString*) extension dbFolder: (NSString*) dbFolder; -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; -- (NSArray*) childrenArray: (NSManagedObject*) item; -- (NSArray*) childrenArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject; -- (NSArray*) imagesArray: (NSManagedObject*) item onlyImages:(BOOL) onlyImages; -- (NSArray*) imagesArray: (NSManagedObject*) item preferredObject: (int) preferredObject onlyImages:(BOOL) onlyImages; -- (NSManagedObjectContext *) managedObjectContextLoadIfNecessary:(BOOL) loadIfNecessary; -- (void) setNetworkLogs; -- (BOOL) isNetworkLogsActive; -- (NSTimeInterval) databaseLastModification; -- (IBAction) matrixDoublePressed:(id)sender; -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand; --(BOOL) findAndSelectFile: (NSString*) path image: (NSManagedObject*) curImage shouldExpand: (BOOL) expand extendingSelection: (BOOL) extendingSelection; -- (IBAction) sendiDisk:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; -- (long) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput async: (BOOL) async; --(ViewerController*) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer keyImagesOnly:(BOOL) keyImages; -- (ViewerController*) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer keyImagesOnly:(BOOL) keyImages; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; --(void) exportQuicktimeInt:(NSArray*) dicomFiles2Export :(NSString*) path :(BOOL) html; -- (IBAction) delItem:(id) sender; -- (void) delItemMatrix: (NSManagedObject*) obj; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer tileWindows: (BOOL) tileWindows; -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; -- (NSArray*) exportDICOMFileInt:(NSString*) location files:(NSArray*) filesToExport objects:(NSArray*) dicomFiles2Export; - -- (void) setupToolbar; - -- (NSString*) getDatabaseFolderFor: (NSString*) path; -- (NSString*) getDatabaseIndexFileFor: (NSString*) path; - -- (void) setCurrentBonjourService:(int) index; -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; -- (IBAction) selectAll3DSeries:(id) sender; -- (IBAction) selectAll4DSeries:(id) sender; -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void)newViewerDICOM:(id) sender; -- (void) viewerDICOMKeyImages:(id) sender; -- (void) viewerDICOMMergeSelection:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (void) setDraggedItems:(NSArray*) pbItems; -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; -- (IBAction) openDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a Bonjour:(BOOL) isBonjour; - -- (IBAction) endReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabase:(id) sender; -- (IBAction) ReBuildDatabaseSheet: (id)sender; -- (void) previewSliderAction:(id) sender; -- (void) addHelpMenu; -- (NSString*) _findFirstDicomdirOnCDMedia: (NSString*)startDirectory found:(BOOL) found; -+ (BOOL)isItCD:(NSString*) path; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; -- (NSMutableArray *) filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects; -- (NSMutableArray *) filesForDatabaseMatrixSelection :(NSMutableArray*) correspondingManagedObjects onlyImages:(BOOL) onlyImages; - -- (void) resetListenerTimer; -- (IBAction) smartAlbumHelpButton:(id) sender; - -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray; -- (NSArray*) addFilesAndFolderToDatabase:(NSArray*) filenames; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject; -- (NSArray*) addFilesToDatabase:(NSArray*) newFilesArray onlyDICOM:(BOOL) onlyDICOM safeRebuild:(BOOL) safeProcess produceAddedFiles:(BOOL) produceAddedFiles parseExistingObject:(BOOL) parseExistingObject context: (NSManagedObjectContext*) context dbFolder:(NSString*) dbFolder; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; - -//- (void)runSendQueue:(id)object; -//- (void)addToQueue:(NSArray *)array; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; -//- (void)reloadSendLog:(id)sender; -- (void) pdfPreview:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; -- (void) refreshSmartAlbums; -- (void) waitForRunningProcesses; - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -- (void) autoCleanDatabaseFreeSpace:(id) sender; -- (void) autoCleanDatabaseDate:(id) sender; - -- (void) refreshDatabase:(id) sender; -- (void) syncReportsIfNecessary: (int) index; -- (void) removeAllMounted; - -//bonjour -- (void) getDICOMROIFiles:(NSArray*) files; -- (void) setBonjourDatabaseValue:(NSManagedObject*) obj value:(id) value forKey:(NSString*) key; -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) setBonjourSharingEnabled:(BOOL) boo; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj :(long) no; -- (void) displayBonjourServices; -- (NSString*) askPassword; -- (void) resetToLocalDatabase; -- (void) createContextualMenu; -- (void) checkIncomingThread:(id) sender; -- (void) checkIncoming:(id) sender; -- (NSArray*) openSubSeries: (NSArray*) toOpenArray; -- (IBAction) checkMemory:(id) sender; -- (IBAction) buildAllThumbnails:(id) sender; -- (IBAction) mergeStudies:(id) sender; - -// Finding Comparisons -- (NSArray *)relatedStudiesForStudy:(id)study; - -//DB plugins -- (void)executeFilterDB:(id)sender; - -- (NSString *)documentsDirectoryFor:(int) mode url:(NSString*) url; -- (NSString *)setFixedDocumentsDirectory; -- (IBAction)showLogWindow: (id)sender; - -- (NSString *)folderPathResolvingAliasAndSymLink:(NSString *)path; - -- (void)setFilterPredicate:(NSPredicate *)predicate description:(NSString*) desc; -- (NSPredicate *)createFilterPredicate; -- (NSString *)createFilterDescription; - -- (IBAction) generateReport: (id) sender; -- (IBAction) deleteReport: (id) sender; -- (IBAction)srReports: (id)sender; - -- (IBAction) rebuildThumbnails:(id) sender; - -- (NSArray *)databaseSelection; - -- (void) newFilesGUIUpdateRun:(int) state; -- (void) newFilesGUIUpdate:(id) sender; - -- (IBAction) decompressSelectedFiles:(id) sender; -- (IBAction) compressSelectedFiles:(id) sender; -- (void) decompressArrayOfFiles: (NSArray*) array work:(NSNumber*) work; -- (void) decompressThread: (NSNumber*) typeOfWork; - --(void) compressDICOMJPEG:(NSString*) compressedPath; --(void) decompressDICOMJPEG:(NSString*) compressedPath; - -- (void) refreshMatrix:(id) sender; -- (void)updateReportToolbarIcon:(NSNotification *)note; - -- (void) initAnimationSlider; - -+ (NSString*) DateTimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) TimeWithSecondsFormat:(NSDate*) t; -+ (NSString*) DateOfBirthFormat:(NSDate*) d; -+ (NSString*) DateTimeFormat:(NSDate*) d; -+ (NSString*) TimeFormat:(NSDate*) t; - -- (int) findObject:(NSString*) request table:(NSString*) table execute: (NSString*) execute elements:(NSString**) elements; - -/******Notifactions posted by browserController*********** -@"NewStudySelectedNotification" with userinfo key @"Selected Study" posted when a newStudy is selected in the browser -@"Close All Viewers" posted when close open windows if option key pressed. -@"DCMImageTilingHasChanged" when image tiling has changed -OsirixAddToDBNotification posted when files are added to the DB -*/ - -@end diff --git a/XML-RPC-Plugin/OsiriX Headers/dicomFile.h b/XML-RPC-Plugin/OsiriX Headers/dicomFile.h deleted file mode 100644 index 50db680..0000000 --- a/XML-RPC-Plugin/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,121 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - -/** \brief Parses files for importing into the database */ - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; /**< Test for TIFF file format */ -+ (BOOL) isFVTiffFile:(NSString *) file; /**< Test for FV TIFF file format */ -+ (BOOL) isNIfTIFile:(NSString *) file; /**< Test for Nifti file format */ -+ (BOOL) isDICOMFile:(NSString *) file; /**< Test for DICOM file format */ -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; /**< Test for DICOM file format, returns YES for compressed BOOL if Transfer syntax is compressed. */ -+ (BOOL) isXMLDescriptedFile:(NSString *) file; /**< Test for XML descripted file format */ -+ (BOOL) isXMLDescriptorFile:(NSString *) file; /**< Test for XML descriptor file format. Fake DICOM for other files with XML descriptor*/ -+ (void) setFilesAreFromCDMedia: (BOOL) f; /**< Set flag for filesAreFromCDMedia */ -+ (void) setDefaults; /**< Set DEFAULTSSET flag to NO */ -+ (void) resetDefaults; /**< Resets to user defaults */ -/** Return string with invalid characters replaced -* replaces @"^" with @" " -* replaces @"/" with @"-" -* replaces @"\r" with @"" -* replaces @"\n" with @"" -* @":" withString:@"-" -* removes empty space at end of strings -*/ -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; /**< Same as NSreplaceBadCharacter, but using char* and encodings */ -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; /**< Convert char* str with NSStringEncoding* encoding to NSString */ -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; /**< Converts NIfTI to XML */ - - -- (long) NoOfFrames; /**< Number of frames in the file */ -- (long) getWidth; /**< Returns image width */ -- (long) getHeight; /**< Return image Height */ -- (long) NoOfSeries; /**< Returns number of seris in the file */ -- (id) init:(NSString*) f; /**< Init with file at location NSString* f */ -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; /**< init with file at location NSString* f DICOM files only if DICOMOnly = YES */ -- (id) initRandom; /**< Inits and returns an empty dicomFile */ -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; /**< Init with XMLDescriptor for information and f for image data */ -- (NSString*) patientUID; /**< Returns the patientUID */ - -/** Returns a dictionary of the elements used to import into the database -* Keys: -* @"studyComment", @"studyID", @"studyDescription", @"studyDate", @"modality", @"patientID", @"patientName", -* @"patientUID", @"fileType", @"commentsAutoFill", @"album", @"SOPClassUID", @"SOPUID", @"institutionName", -* @"referringPhysiciansName", @"performingPhysiciansName", @"accessionNumber", @"patientAge", @"patientBirthDate", -* @"patientSex", @"cardiacTime", @"protocolName", @"sliceLocation", @"imageID", @"seriesNumber", @"seriesDICOMUID", -* @"studyNumber", @"seriesID", @"hasDICOM" -* */ - -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; /**< Returns the dicomElement for the key */ -- (short)getPluginFile; /**< Looks for a plugin to decode the file. If one is found decodes the file */ -/** Parses the fileName to get the Series/Study/Image numbers -* Used for files that don't have the information embedded such as TIFFs and jpegs -* In these cases the files are sorted based on the file name. -* Numbers at the end become the image number. The remainder of the file becomes the Series and Study ID -*/ -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; /**< Decodes the file using the DCM Framework Returns -1 for failure 0 for success*/ - - --(short) getDicomFile; /**< Decode DICOM. Returns -1 for failure 0 for success */ --(short) getNIfTI; /**< Decode NIfTI Returns -1 for failure 0 for success */ - - -/** Returns the COMMENTSAUTOFILL default. -* If Yes, comments will be filled from the DICOM tag commentsGroup/commentsElement -*/ -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; /**< Returns the splitMultiEchoMR default If YES, splits multi echo series into separate series by Echo number. */ -- (BOOL)useSeriesDescription; /**< Returns the useSeriesDescription default. */ -- (BOOL)noLocalizer; /**< Returns the NOLOCALIZER default. */ -- (BOOL)combineProjectionSeries; /**< Returns the combineProjectionSeries default. If YES, combines are projection Modalities: CR, DR into one series. */ -- (BOOL)oneFileOnSeriesForUS; /**< Returns the oneFileOnSeriesForUS default */ -- (BOOL)combineProjectionSeriesMode; /**< Returns the combineProjectionSeriesMode default. */ -- (BOOL)checkForLAVIM; /**< Returns the CHECKFORLAVIM default. */ -- (BOOL)separateCardiac4D; /**< Returns the SEPARATECARDIAC4D default. If YES separates cardiac studies into separate gated series. */ -- (int)commentsGroup; /**< Returns the commentsGroup default. The DICOM group to get comments from. */ -- (int)commentsElement; /**< Returns the commentsGroup default. The DICOM element to get get comments from. */ -@end - - diff --git a/XML-RPC-Plugin/xmlrpc.xcodeproj/project.pbxproj b/XML-RPC-Plugin/xmlrpc.xcodeproj/project.pbxproj index d4912f9..83c758a 100644 --- a/XML-RPC-Plugin/xmlrpc.xcodeproj/project.pbxproj +++ b/XML-RPC-Plugin/xmlrpc.xcodeproj/project.pbxproj @@ -22,6 +22,7 @@ CE49C7810C8C1DAC004A31FB /* ViewerController.h in Headers */ = {isa = PBXBuildFile; fileRef = CE49C7760C8C1DAC004A31FB /* ViewerController.h */; }; CE49C7850C8C1DBE004A31FB /* xmlrpcFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = CE49C7830C8C1DBE004A31FB /* xmlrpcFilter.m */; }; CE49C7860C8C1DBE004A31FB /* xmlrpcFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = CE49C7840C8C1DBE004A31FB /* xmlrpcFilter.h */; }; + CEB6E5B8172D119100826F3F /* OsiriXAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEB6E5B7172D119100826F3F /* OsiriXAPI.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -45,6 +46,7 @@ CE49C7830C8C1DBE004A31FB /* xmlrpcFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = xmlrpcFilter.m; sourceTree = ""; }; CE49C7840C8C1DBE004A31FB /* xmlrpcFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xmlrpcFilter.h; sourceTree = ""; }; CE49C7930C8C2096004A31FB /* browserController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = browserController.h; sourceTree = ""; }; + CEB6E5B7172D119100826F3F /* OsiriXAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OsiriXAPI.framework; path = ../../osirix/build/Development/OsiriXAPI.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -53,6 +55,7 @@ buildActionMask = 2147483647; files = ( 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, + CEB6E5B8172D119100826F3F /* OsiriXAPI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -102,6 +105,7 @@ 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( + CEB6E5B7172D119100826F3F /* OsiriXAPI.framework */, 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, ); name = "Linked Frameworks"; @@ -264,7 +268,11 @@ isa = XCBuildConfiguration; buildSettings = { COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ""; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", + ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../osirix/build/Development\""; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_ENABLE_TRIGRAPHS = NO; diff --git a/XML-RPC-Plugin/xmlrpc.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/XML-RPC-Plugin/xmlrpc.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..e90a688 --- /dev/null +++ b/XML-RPC-Plugin/xmlrpc.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/XML-RPC-Plugin/xmlrpc.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate b/XML-RPC-Plugin/xmlrpc.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..f792ad0 Binary files /dev/null and b/XML-RPC-Plugin/xmlrpc.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/XML-RPC-Plugin/xmlrpc.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist b/XML-RPC-Plugin/xmlrpc.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ac706f8 --- /dev/null +++ b/XML-RPC-Plugin/xmlrpc.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + xmlrpc.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D5B49AC048680CD000E48DA + + primary + + + + + diff --git a/XML-RPC-Plugin/xmlrpc.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xmlrpc.xcscheme b/XML-RPC-Plugin/xmlrpc.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xmlrpc.xcscheme new file mode 100644 index 0000000..479ba58 --- /dev/null +++ b/XML-RPC-Plugin/xmlrpc.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xmlrpc.xcscheme @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/XML-RPC-Plugin/xmlrpcFilter.h b/XML-RPC-Plugin/xmlrpcFilter.h index b41da08..7e2f685 100644 --- a/XML-RPC-Plugin/xmlrpcFilter.h +++ b/XML-RPC-Plugin/xmlrpcFilter.h @@ -4,7 +4,7 @@ // #import -#import "PluginFilter.h" +#import "OsiriXAPI/PluginFilter.h" @interface xmlrpcFilter : PluginFilter { diff --git a/XML-RPC-Plugin/xmlrpcFilter.m b/XML-RPC-Plugin/xmlrpcFilter.m index acc21f6..6025c78 100644 --- a/XML-RPC-Plugin/xmlrpcFilter.m +++ b/XML-RPC-Plugin/xmlrpcFilter.m @@ -14,10 +14,11 @@ // #import "xmlrpcFilter.h" -#import "DCMPix.h" -#import "ViewerController.h" -#import "DicomFile.h" -#import "BrowserController.h" +#import "OsiriXAPI/PluginFilter.h" +#import "OsiriXAPI/DCMPix.h" +#import "OsiriXAPI/ViewerController.h" +#import "OsiriXAPI/DicomFile.h" +#import "OsiriXAPI/BrowserController.h" @implementation xmlrpcFilter diff --git a/grid/grid.m b/grid/grid.m index 51a9485..ac759c8 100755 --- a/grid/grid.m +++ b/grid/grid.m @@ -385,18 +385,12 @@ - (long) filterImage:(NSString*) menuName if(s) { - BrowserController *bc = [BrowserController currentBrowser]; - //NSArray *objects = - [BrowserController addFiles: [NSArray arrayWithObject:[s valueForKey: @"file"]] - toContext: [bc managedObjectContext] - toDatabase: bc - onlyDICOM: YES - notifyAddedFiles: YES - parseExistingObject: YES - dbFolder: [bc documentsDirectory] - generatedByOsiriX: YES - ]; - //[bc selectServer: objects]; + [BrowserController.currentBrowser.database addFilesAtPaths: [NSArray arrayWithObject:[s valueForKey: @"file"]] + postNotifications: YES + dicomOnly: YES + rereadExistingItems: YES + generatedByOsiriX: YES]; + [viewerController adjustSlider]; } diff --git a/jp2 plugin/JP2Filter.h b/jp2 plugin/JP2Filter.h index 8d43803..d8ae195 100644 --- a/jp2 plugin/JP2Filter.h +++ b/jp2 plugin/JP2Filter.h @@ -7,7 +7,7 @@ #import -#import "PluginFileFormatDecoder.h" +#import "OsiriXAPI/PluginFileFormatDecoder.h" @interface JP2Filter : PluginFileFormatDecoder { diff --git a/jp2 plugin/OsiriX Headers/DCMPix.h b/jp2 plugin/OsiriX Headers/DCMPix.h deleted file mode 100644 index ed096d8..0000000 --- a/jp2 plugin/OsiriX Headers/DCMPix.h +++ /dev/null @@ -1,446 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -//7/7/05 Fixed bug with DCM Framework and WW and WC. Use float value rather than int value. LP - -#import -#import -#import - -#define USEVIMAGE - -typedef struct { - double x,y,z; -} XYZ; - -extern XYZ ArbitraryRotate(XYZ p,double theta,XYZ r); - -@class xNSImage; -@class ROI; -@class ThickSlabController; - -@interface DCMPix: NSObject -{ -//SOURCES - NSString *srcFile; - BOOL isBonjour; - BOOL nonDICOM; - -//BUFFERS - NSArray *pixArray; - NSManagedObject *imageObj; - xNSImage *image; - short *oImage; - float *fImage, *fVolImage; - char *wImage; - -//DICOM TAGS - -// orientation - double originX, originY, originZ; - double orientation[ 9]; - -// pixel representation - BOOL fIsSigned; - short bitsAllocated, bitsStored, spp; - float slope, offset; - -// image size - long height, width, rowBytes; - -// window level & width - float savedWL, savedWW; - -// planar configuration - long fPlanarConf; - double pixelSpacingX, pixelSpacingY, pixelRatio; - -// photointerpretation - BOOL isRGB; - BOOL inverseVal; - -//-------------------------------------- - -// DICOM params needed for SUV calculations - float patientsWeight; - NSString *repetitiontime; - NSString *echotime; - NSString *flipAngle, *laterality; - NSString *protocolName; - NSString *viewPosition; - NSString *patientPosition; - BOOL hasSUV, SUVConverted; - NSString *units, *decayCorrection; - float decayFactor; - float radionuclideTotalDose; - float radionuclideTotalDoseCorrected; - NSCalendarDate *acquisitionTime; - NSCalendarDate *radiopharmaceuticalStartTime; - float halflife; - float philipsFactor; - BOOL displaySUVValue; - -// DICOM params for Overlays - 0x6000 group - int oRows, oColumns, oType, oOrigin[ 2], oBits, oBitPosition; - unsigned char *oData; - -// DSA-subtraction - float *subtractedfImage; - NSPoint subPixOffset; - NSPoint subMinMax; - float subtractedfPercent; - float subtractedfZ; - float subtractedfZero; - float subtractedfGamma; - GammaFunction subGammaFunction; - - long maskID; - float maskTime; - float fImageTime; - //float rot; - //float ang; - NSNumber *positionerPrimaryAngle; - NSNumber *positionerSecondaryAngle; - - long shutterRect_x; - long shutterRect_y; - long shutterRect_w; - long shutterRect_h; - - long shutterCircular_x; - long shutterCircular_y; - long shutterCircular_radius; - - NSPoint *shutterPolygonal; - long shutterPolygonalSize; - - BOOL DCMPixShutterOnOff; - -//------------------------------------------------------- - long frameNo; - long serieNo; - long imID, imTot; - char *baseAddr; - -//convolution - BOOL convolution, updateToBeApplied; - short kernelsize; - short normalization; - short kernel[25]; - - float cineRate; - -//slice - double sliceInterval, sliceLocation, sliceThickness; - double spacingBetweenSlices; //SpacingBetweenSlices (0018,0088) - -//stack - short stack; - short stackMode, pixPos, stackDirection; -//thickslab - BOOL thickSlabVRActivated; - ThickSlabController *thickSlab; - - float countstackMean; - float ww, wl; - float fullww, fullwl; - BOOL fixed8bitsWLWW; - float maxValueOfSeries, minValueOfSeries; - - - NSString *convertedDICOM; - BOOL generated; - NSLock *checking; - NSLock *processorsLock; - volatile int numberOfThreadsForCompute; - - BOOL useVOILUT; - int VOILUT_first; - unsigned int VOILUT_number, VOILUT_depth, *VOILUT_table; - - char blackIndex; - - NSPoint independentOffset; - float independentRotation, independentZoom; -} - -+ (void) checkUserDefaults: (BOOL) update; -+ (void) resetUserDefaults; -+ (BOOL) IsPoint:(NSPoint) x inPolygon:(NSPoint*) poly size:(int) count; - -// Is it an RGB image (ARGB) or float image? -- (BOOL) isRGB; - -// Pointer to image data -- (float*) fImage; - -// Dimensions in pixels -- (long) setPwidth:(long) w; -- (long) pwidth; - -- (long) setPheight:(long) h; -- (long) pheight; - -// WL & WW -- (float) ww; -- (float) wl; --(float) fullww; --(float) fullwl; -- (float) savedWL; -- (float) savedWW; -- (float) setSavedWL:(float) l; -- (float) setSavedWW:(float) w; -- (void) changeWLWW:(float)newWL :(float)newWW; --(void) computePixMinPixMax; -- (float) maxValueOfSeries; -- (void) setMaxValueOfSeries: (float) f; -- (float) minValueOfSeries; -- (void) setMinValueOfSeries: (float) f; --(NSPoint) independentOffset; --(void) setIndependentOffset:(NSPoint) z; --(float) independentRotation; --(void) setIndependentRotation:(float) z; --(float) independentZoom; --(void) setIndependentZoom:(float) z; -// Compute ROI data -- (int)calciumCofactorForROI:(ROI *)roi threshold:(int)threshold; -- (void) computeROI:(ROI*) roi :(float *)mean :(float *)total :(float *)dev :(float *)min :(float *)max; -- (void) computeROIInt:(ROI*) roi :(float*) mean :(float *)total :(float *)dev :(float *)min :(float *)max; - -// Fill a ROI with a value! -- (void) fillROI:(ROI*) roi newVal :(float) newVal minValue :(float) minValue maxValue :(float) maxValue outside :(BOOL) outside orientationStack :(long) orientationStack stackNo :(long) stackNo restore :(BOOL) restore addition:(BOOL) addition; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientationStack :(long) stackNo :(BOOL) restore; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside :(long) orientation :(long) stackNo; -- (void) fillROI:(ROI*) roi :(float) newVal :(float) minValue :(float) maxValue :(BOOL) outside; - -- (unsigned char*) getMapFromPolygonROI:(ROI*) roi; - -// Is this Point (pt) in this ROI ? -- (BOOL) isInROI:(ROI*) roi :(NSPoint) pt; - -// Return a pointer with all pixels values contained in the current ROI -// Free the pointer with the free() function -- (float*) getROIValue :(long*) numberOfValues :(ROI*) roi :(float**) locations; -- (float*) getLineROIValue :(long*) numberOfValues :(ROI*) roi; - -// X/Y ratio - non-square pixels --(void) setPixelRatio:(float)r; --(double) pixelRatio; - -// pixel size --(double) pixelSpacingX; --(double) pixelSpacingY; --(void) setPixelSpacingX :(double) s; --(void) setPixelSpacingY :(double) s; - -// Slice orientation --(void) orientation:(float*) c; --(void) setOrientation:(float*) c; - --(void) orientationDouble:(double*) c; --(void) setOrientationDouble:(double*) c; - -// Slice location --(double) originX; --(double) originY; --(double) originZ; --(void) setOrigin :(float*) o; --(void) setOriginDouble :(double*) o; - -// Utility methods to convert user supplied pixel coords to DICOM patient coords float d[3] (in mm) -// using current slice location and orientation and vice versa --(void) convertPixX: (float) x pixY: (float) y toDICOMCoords: (float*) d; --(void) convertPixDoubleX: (double) x pixY: (double) y toDICOMCoords: (double*) d; - --(void) convertDICOMCoords: (float*) dc toSliceCoords: (float*) sc; --(void) convertDICOMCoordsDouble: (double*) dc toSliceCoords: (double*) sc; - -+(int) nearestSliceInPixelList: (NSArray*)pixlist withDICOMCoords: (float*)dc sliceCoords: (float*) sc; // Return index & sliceCoords - -// Thickness/Axial Location --(double) sliceLocation; --(void) setSliceLocation:(float) l; --(double) sliceThickness; --(void) setSliceThickness:(float) l; --(double) sliceInterval; --(void) setSliceInterval :(float) s; --(double) spacingBetweenSlices; - -// ID / FrameNo --(long) ID; -- (void) setID :(long) i; -- (long) frameNo; -- (void) setFrameNo:(long) f; -- (BOOL) thickSlabVRActivated; -- (void) ConvertToBW:(long) mode; -- (void) ConvertToRGB:(long) mode :(long) cwl :(long) cww; -- (float) cineRate; - -// drag-drop subtraction-multiplication between series -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (float*) multiplyImages :(float*) input :(float*) subfImage; -- (void) imageArithmeticSubtraction:(DCMPix*) sub; -- (float*) arithmeticSubtractImages :(float*) input :(float*) subfImage; - -//DSA -- (void) setSubSlidersPercent: (float) p gamma: (float) g zero: (float) z; -- (void) setSubSlidersPercent: (float) p; -- (NSPoint) subPixOffset; -- (void) setSubPixOffset:(NSPoint) subOffset; -- (NSPoint) subMinMax:(float*)input :(float*)subfImage; -- (void) setSubtractedfImage:(float*)mask :(NSPoint)smm; -- (float*) subtractImages:(float*)input :(float*)subfImage; - --(void) fImageTime:(float)newTime; --(float) fImageTime; --(void) maskID:(long)newID; --(long) maskID; --(void) maskTime:(float)newMaskTime; --(float) maskTime; --(void) positionerPrimaryAngle:(NSNumber *)newPositionerPrimaryAngle; --(NSNumber*) positionerPrimaryAngle; --(void) positionerSecondaryAngle:(NSNumber*)newPositionerSecondaryAngle; --(NSNumber*) positionerSecondaryAngle; -+ (NSPoint) originDeltaBetween:(DCMPix*) pix1 And:(DCMPix*) pix2; -- (void) setBlackIndex:(int) i; -+ (NSImage*) resizeIfNecessary:(NSImage*) currentImage dcmPix: (DCMPix*) dcmPix; --(void) DCMPixShutterRect:(long)x:(long)y:(long)w:(long)h; --(long) DCMPixShutterRectWidth; --(long) DCMPixShutterRectHeight; --(long) DCMPixShutterRectOriginX; --(long) DCMPixShutterRectOriginY; --(BOOL) DCMPixShutterOnOff; --(void) DCMPixShutterOnOff:(BOOL)newDCMPixShutterOnOff; -- (void) computeTotalDoseCorrected; -- (void) copyFromOther:(DCMPix *) fromDcm; -- (void) imageArithmeticMultiplication:(DCMPix*) sub; -- (NSString*) repetitiontime; -- (NSString*) echotime; -- (NSString*) flipAngle; -- (NSString*) laterality; -- (void) setRepetitiontime:(NSString*)rep; -- (void) setEchotime:(NSString*)echo; -- (NSString*) protocolName; -- (NSString*) viewPosition; -- (NSString*) patientPosition; -- (void) setRGB : (BOOL) val; -- (void) setConvolutionKernel:(short*)val :(short) size :(short) norm; -- (void) applyConvolutionOnSourceImage; -- (void) setArrayPix :(NSArray*) array :(short) i; -- (BOOL) updateToApply; -- (id) myinitEmpty; -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss; -/* s == File Path - pos == Image ID (Number) - tot == number of IMages? - ptr == ptr to volume - f == frame number - ss == series number - hello == Bonjour - imageObj (iO) == image core data object - -- (id) initWithContentsOfFile:(NSString*) s - imageID:(long) pos - numberOfImages:(long) tot - volume:(float*) ptr - frameNumber:(long) f - seriesNumber:(long) ss - isBonjour:(BOOL) hello - imageObj: (NSManagedObject*) iO; -*/ -- (id) myinit:(NSString*) s :(long) pos :(long) tot :(float*) ptr :(long) f :(long) ss isBonjour:(BOOL) hello imageObj: (NSManagedObject*) iO; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ; -- (id) initwithdata :(float*) im :(short) pixelSize :(long) xDim :(long) yDim :(float) xSpace :(float) ySpace :(float) oX :(float) oY :(float) oZ :(BOOL) volSize; -- (NSImage*) computeWImage: (BOOL) smallIcon :(float)newWW :(float)newWL; -- (NSImage*) image; -- (NSImage*) getImage; -- (char*) baseAddr; -- (void) setBaseAddr :( char*) ptr; -- (void) orientation:(float*) c; -- (void) setOrientation:(float*) c; -- (short*) oImage; -- (void) kill8bitsImage; -- (void) checkImageAvailble:(float)newWW :(float)newWL; --(long) rowBytes; --(void) setRowBytes:(long) rb; -- (BOOL)loadDICOMDCMFramework; -- (BOOL) loadDICOMPapyrus; -- (void) CheckLoadIn; -- (void) CheckLoad; -- (float*) computefImage; --(float) slope; --(float) offset; --(long) serieNo; --(long) Tot; --(void) setTot: (long) tot; --(void) setFusion:(short) m :(short) s :(short) direction; --(short) stack; --(short) stackMode; -- (long) rowBytes; -- (void) setRowBytes:(long) rb; -- (float) fullww; -- (float) fullwl; -- (void)setSourceFile:(NSString*)s; --(NSString*) sourceFile; --(void) setUpdateToApply; --(void) revert; -- (NSString*) sourceFile; -- (void) setUpdateToApply; -- (void) revert; -- (void) computePixMinPixMax; -- (void) setfImage:(float*) ptr; -- (void) setThickSlabController:( ThickSlabController*) ts; -- (void) setFixed8bitsWLWW:(BOOL) f; -- (BOOL) generated; -- (void) prepareRestore; -- (void) freeRestore; -+ (void) setRunOsiriXInProtectedMode:(BOOL) v; -+ (BOOL) isRunOsiriXInProtectedModeActivated; - -//Database links -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; - -// Accessor methods needed for SUV calculations -- (float) philipsFactor; -- (float) patientsWeight; -- (void) setPatientsWeight : (float) v; -- (float) halflife; -- (void) setHalflife : (float) v; -- (float) radionuclideTotalDose; -- (void) setRadionuclideTotalDose : (float) v; -- (float) radionuclideTotalDoseCorrected; -- (void) setRadionuclideTotalDoseCorrected : (float) v; -- (NSCalendarDate*) acquisitionTime; -- (void) setAcquisitionTime : (NSCalendarDate*) d; -- (NSCalendarDate*) radiopharmaceuticalStartTime; -- (void) setRadiopharmaceuticalStartTime : (NSCalendarDate*) d; -- (void) setSUVConverted : (BOOL) v; -- (BOOL) SUVConverted; -- (float) decayFactor; -- (float) setDecayFactor: (float) f; -- (NSString*) units; -- (NSString*) decayCorrection; -- (void) setDecayCorrection : (NSString*) s; -- (void) checkSUV; -- (BOOL) hasSUV; -- (BOOL) displaySUVValue; -- (void) setDisplaySUVValue : (BOOL) v; -- (void) copySUVfrom: (DCMPix*) from; -- (NSString *)setUnits: (NSString *) s; -- (float) getPixelValueX: (long) x Y:(long) y; - -- (NSString *)srcFile; - -@end diff --git a/jp2 plugin/OsiriX Headers/DCMView.h b/jp2 plugin/OsiriX Headers/DCMView.h deleted file mode 100644 index 2f4735f..0000000 --- a/jp2 plugin/OsiriX Headers/DCMView.h +++ /dev/null @@ -1,447 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import - -#include -#include -#include - - -#define STAT_UPDATE 0.6f -#define IMAGE_COUNT 1 -#define IMAGE_DEPTH 32 - - -// Tools. - -enum -{ - tWL = 0, - tTranslate, // 1 - tZoom, // 2 - tRotate, // 3 - tNext, // 4 - tMesure, // 5 - tROI, // 6 - t3DRotate, // 7 - tCross, // 8 - tOval, // 9 - tOPolygon, // 10 - tCPolygon, // 11 - tAngle , // 12 - tText, // 13 - tArrow, // 14 - tPencil, // 15 - t3Dpoint, // 16 - t3DCut, // 17 - tCamera3D, // 18 - t2DPoint, // 19 - tPlain, // 20 - tBonesRemoval, // 21 - tWLBlended, // 22 - tRepulsor, // 23 - tLayerROI, // 24 - tROISelector, // 25 - tAxis, // 26 //JJCP - tDynAngle // 27 //JJCP -}; - -extern NSString *pasteBoardOsiriX; -extern NSString *pasteBoardOsiriXPlugin; - -enum { annotNone = 0, annotGraphics, annotBase, annotFull }; -enum { barHide = 0, barOrigin, barFused, barBoth }; -enum { syncroOFF = 0, syncroABS = 1, syncroREL = 2, syncroLOC = 3}; - - -@class DCMPix; -@class DCMView; -@class ROI; -@class OrthogonalMPRController; - -@interface DCMView: NSOpenGLView -{ - int _imageRows; - int _imageColumns; - int _tag; - - BOOL flippedData; - - NSString *yearOld; - - ROI *curROI; - BOOL drawingROI, noScale, volumicSeries; - DCMView *blendingView; - float blendingFactor, blendingFactorStart; - BOOL eraserFlag; // use by the PaletteController to switch between the Brush and the Eraser - BOOL colorTransfer; - unsigned char *colorBuf, *blendingColorBuf; - unsigned char alphaTable[256], redTable[256], greenTable[256], blueTable[256]; - float redFactor, greenFactor, blueFactor; - long blendingMode; - float sliceVector[ 3], slicePoint[ 3], slicePointO[ 3], slicePointI[ 3]; - float sliceVector2[ 3], slicePoint2[ 3], slicePointO2[ 3], slicePointI2[ 3]; - float slicePoint3D[ 3]; - float syncRelativeDiff; - long syncSeriesIndex; - - float mprVector[ 3], mprPoint[ 3]; - - short thickSlabMode, thickSlabStacks; - - NSImage *myImage; - - NSMutableArray *rectArray; - - NSMutableArray *dcmPixList; - NSArray *dcmFilesList; - NSMutableArray *dcmRoiList, *curRoiList; - DCMPix *curDCM; - - NSTimer *mouseModifiers; - - char listType; - - short curImage, startImage; - - short currentTool, currentToolRight; - - BOOL suppress_labels; // keep from drawing the labels when command+shift is pressed - - NSString *shortDateString, *shortDateTimeString; - NSDictionary *localeDictionnary; - - NSPoint start, originStart, originOffsetStart, previous; - - float startWW, curWW, startMin, startMax; - float startWL, curWL; - - float bdstartWW, bdcurWW, bdstartMin, bdstartMax; - float bdstartWL, bdcurWL; - - NSSize scaleStart, scaleInit; - - float scaleValue, startScaleValue; - float rotation, rotationStart; - NSPoint origin, originOffset; - NSPoint cross, crossPrev; - float angle, slab, switchAngle; - short crossMove; - - NSMatrix *matrix; - - long count; - - BOOL QuartzExtreme; - - BOOL xFlipped, yFlipped; - - long fontListGLSize[256]; - long labelFontListGLSize[ 256]; - NSSize stringSize; - NSFont *labelFont; - NSFont *fontGL; - NSColor *fontColor; - GLuint fontListGL; - GLuint labelFontListGL; - float fontRasterY; - - NSPoint mesureA, mesureB; - NSRect roiRect; - NSString *stringID; - NSSize previousViewSize; - - float contextualMenuInWindowPosX; - float contextualMenuInWindowPosY; - - - float mouseXPos, mouseYPos; - float pixelMouseValue; - long pixelMouseValueR, pixelMouseValueG, pixelMouseValueB; - - float blendingMouseXPos, blendingMouseYPos; - float blendingPixelMouseValue; - long blendingPixelMouseValueR, blendingPixelMouseValueG, blendingPixelMouseValueB; - - long textureX, blendingTextureX; // number of horizontal textures - long textureY, blendingTextureY; // number of vertical textures - GLuint * pTextureName; // array for texture names (# = textureX * textureY) - GLuint * blendingTextureName; // array for texture names (# = textureX * textureY) - long textureWidth; // total width of texels with cover image (including any border on image, but not internal texture overlaps) - long textureHeight; // total height of texels with cover image (including any border on image, but not internal texture overlaps) - - BOOL f_ext_texture_rectangle; // is texture rectangle extension supported - BOOL f_arb_texture_rectangle; // is texture rectangle extension supported - BOOL f_ext_client_storage; // is client storage extension supported - BOOL f_ext_packed_pixel; // is packed pixel extension supported - BOOL f_ext_texture_edge_clamp; // is SGI texture edge clamp extension supported - BOOL f_gl_texture_edge_clamp; // is OpenGL texture edge clamp support (1.2+) - unsigned long edgeClampParam; // the param that is passed to the texturing parmeteres - long maxTextureSize; // the minimum max texture size across all GPUs - long maxNOPTDTextureSize; // the minimum max texture size across all GPUs that support non-power of two texture dimensions - long TEXTRECTMODE; - - BOOL isKeyView; //needed for Image View subclass - NSCursor *cursor; - BOOL cursorSet; - NSPoint display2DPoint; - - NSMutableDictionary *stringTextureCache; - - BOOL _dragInProgress; // Are we drag and dropping - NSTimer *_mouseDownTimer; //Timer to check if mouseDown is Persisiting; - NSImage *destinationImage; //image will be dropping - - BOOL _hasChanged; - //Context for rendering to iChat - NSOpenGLContext *_alternateContext; - NSDictionary *_hotKeyDictionary; - - BOOL drawing; - - int repulsorRadius; - NSPoint repulsorPosition; - NSTimer *repulsorColorTimer; - float repulsorAlpha, repulsorAlphaSign; - BOOL repulsorROIEdition; - long scrollMode; - - NSPoint ROISelectorStartPoint, ROISelectorEndPoint; - BOOL selectorROIEdition; - NSMutableArray *ROISelectorSelectedROIList; - - BOOL syncOnLocationImpossible; - - char *resampledBaseAddr; - char *resampledTempAddr; - - int resampledBaseAddrSize; -} -+ (void) setDefaults; -+ (void) setCLUTBARS:(int) c ANNOTATIONS:(int) a; -+ (void)setPluginOverridesMouse: (BOOL)override; -+ (void) computePETBlendingCLUT; -+ (NSString*) findWLWWPreset: (float) wl :(float) ww :(DCMPix*) pix; -+ (NSSize)sizeOfString:(NSString *)string forFont:(NSFont *)font; -+ (long) lengthOfString:( char *) cstr forFont:(long *)fontSizeArray; -+ (BOOL) intersectionBetweenTwoLinesA1:(NSPoint) a1 A2:(NSPoint) a2 B1:(NSPoint) b1 B2:(NSPoint) b2 result:(NSPoint*) r; -+ (float) Magnitude:( NSPoint) Point1 :(NSPoint) Point2; -- (BOOL) softwareInterpolation; -- (void) applyImageTransformation; -- (void) initFont; -- (NSMutableArray*) rectArray; --(BOOL) flippedData; -- (void) gClickCountSetReset; --(void) setFlippedData:(BOOL) f; - -(NSMutableArray*) dcmPixList; - -(NSMutableArray*) dcmRoiList; - -(NSArray*) dcmFilesList; -- (long) indexForPix: (long) pixIndex; // Return the index into fileList that coresponds to the index in pixList -- (long) syncSeriesIndex; -- (void) setSyncSeriesIndex:(long) i; -- (float) syncRelativeDiff; -- (void) setSyncRelativeDiff: (float) v; -- (long) findPlaneAndPoint:(float*) pt :(float*) location; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical; -- (unsigned char*) getRawPixels:(long*) width :(long*) height :(long*) spp :(long*) bpp :(BOOL) screenCapture :(BOOL) force8bits :(BOOL) removeGraphical :(BOOL) squarePixels; -- (void) setCrossPrev:(NSPoint) c; --(NSPoint) cross; --(NSPoint) crossPrev; --(void) setSlab:(float) s; --(void) blendingPropagate; --(void) subtract:(DCMView*) bV; --(void) multiply:(DCMView*) bV; --(void) setBlendingMode:(long) f; -- (GLuint *) loadTextureIn:(GLuint *) texture blending:(BOOL) blending colorBuf: (unsigned char**) colorBufPtr textureX:(long*) tX textureY:(long*) tY redTable:(unsigned char*) rT greenTable:(unsigned char*) gT blueTable:(unsigned char*) bT; -- (BOOL)xFlipped; -- (void)setXFlipped: (BOOL)v; -- (BOOL)yFlipped; -- (void)setYFlipped:(BOOL) v; -// checks to see if tool is for ROIs. maybe better name - (BOOL)isToolforROIs:(long)tool -- (BOOL) roiTool:(long) tool; -- (void) sliderAction2DMPR:(id) sender; -- (void) setStringID:(NSString*) str; -- (NSString*) stringID; -- (float) angle; -- (void) prepareToRelease; -- (void) orientationCorrectedToView:(float*) correctedOrientation; -- (void) setCrossCoordinatesPer:(float) val; -- (void) setCrossCoordinates:(float) x :(float) y :(BOOL) update; -- (void) setCross:(long) x :(long)y :(BOOL) update; -- (void) setMPRAngle: (float) vectorMPR; -- (NSPoint) ConvertFromView2GL:(NSPoint) a; -- (NSPoint) ConvertFromGL2View:(NSPoint) a; -- (void) cross3D:(float*) x :(float*) y :(float*) z; -- (void) setWLWW:(float) wl :(float) ww; -- (void)discretelySetWLWW:(float)wl :(float)ww; -- (void) getWLWW:(float*) wl :(float*) ww; -- (void) getThickSlabThickness:(float*) thickness location:(float*) location; -- (void) setCLUT:( unsigned char*) r :(unsigned char*) g :(unsigned char*) b; -- (void) setCurrentTool:(short)i; -- (short) currentTool; -- (short) currentToolRight; -- (void) setRightTool:(short) i; -- (void) dealloc; -- (NSImage*) nsimage:(BOOL) originalSize; -- (NSImage*) nsimage:(BOOL) originalSize allViewers:(BOOL) allViewers; -- (void) setTheMatrix:(NSMatrix*)m; -- (void) setIndex:(short) index; -- (void) setIndexWithReset:(short) index :(BOOL)sizeToFit; -- (void) setDCM:(NSMutableArray*) c :(NSArray*)d :(NSMutableArray*)e :(short) firstImage :(char) type :(BOOL) reset; -- (short) curImage; -- (BOOL) suppressLabels; -- (void) sendSyncMessage:(short) inc; -- (void) setQuartzExtreme:(BOOL) set; -- (void) loadTextures; -- (void) flipVertical:(id) sender; -- (void) flipHorizontal:(id) sender; -- (void) setFusion:(short) mode :(short) stacks; -- (void) FindMinimumOpenGLCapabilities; -- (float) scaleValue; -- (void) setScaleValue:(float) x; -- (float) rotation; -- (void) setRotation:(float) x; -- (NSPoint) rotatePoint:(NSPoint) a; -- (NSPoint) origin; -- (NSPoint) originOffset; -- (void) setOrigin:(NSPoint) x; -- (void) setOriginOffset:(NSPoint) x; -- (void) setBlending:(DCMView*) bV; -- (double) pixelSpacing; -- (double) pixelSpacingX; -- (double) pixelSpacingY; -- (void) scaleToFit; -- (void) scaleBy2AndCenterShutter; -- (void) setBlendingFactor:(float) f; -- (void) sliderAction:(id) sender; -- (DCMPix*)curDCM; -- (void) roiSet; -- (void) roiSet:(ROI*) aRoi; -- (void) colorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void) blendingColorTables:(unsigned char **) a :(unsigned char **) r :(unsigned char **)g :(unsigned char **) b; -- (void )changeFont:(id)sender; -- (void) getCrossCoordinates:(float*) x: (float*) y; -- (IBAction) sliderRGBFactor:(id) sender; -- (IBAction) alwaysSyncMenu:(id) sender; -- (void) getCLUT:( unsigned char**) r : (unsigned char**) g : (unsigned char**) b; -- (void) doSyncronize:(NSNotification*)note; -- (BOOL) volumicSeries; -- (id)initWithFrame:(NSRect)frame imageRows:(int)rows imageColumns:(int)columns; -- (float)getSUV; -- (IBAction) roiLoadFromXMLFiles: (id) sender; -- (float)mouseXPos; -- (float)mouseYPos; -- (float) contextualMenuInWindowPosX; -- (float) contextualMenuInWindowPosY; -- (BOOL)checkHasChanged; -- (BOOL)_checkHasChanged:(BOOL)flag; -- (GLuint)fontListGL; -- (void) drawRectIn:(NSRect) size :(GLuint *) texture :(NSPoint) offset :(long) tX :(long) tY; -- (void) DrawNSStringGL: (NSString*) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawNSStringGL: (NSString*) str :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y; -- (void) DrawCStringGL: ( char *) cstrOut :(GLuint) fontL :(long) x :(long) y rightAlignment: (BOOL) right useStringTexture: (BOOL) stringTex; -- (void) drawTextualData:(NSRect) size :(long) annotations; -- (void) draw2DPointMarker; -- (void) setSyncro:(long) s; -- (long) syncro; -- (NSFont*)fontGL; -- (void) setScaleValueCentered:(float) x; -//notifications -- (void) updateCurrentImage: (NSNotification*) note; -- (void)updateImageTiling:(NSNotification *)note; -- (void)setImageParamatersFromView:(DCMView *)aView; -- (void) setRows:(int)rows columns:(int)columns; -- (void)setTag:( long)aTag; -- (long)tag; -- (float)curWW; -- (float)curWL; -- (float)scaleValue; -- (NSPoint)origin; -- (int)rows; -- (int)columns; -- (DCMView *)blendingView; -- (float)blendingFactor; -- (float)blendingMode; -- (NSCursor *)cursor; -- (void) becomeMainWindow; -- (BOOL)eraserFlag; -- (void)setEraserFlag: (BOOL)aFlag; -- (NSManagedObject *)imageObj; -- (NSManagedObject *)seriesObj; -- (void)updatePresentationStateFromSeries; -- (IBAction)resetSeriesPresentationState:(id)sender; -- (IBAction)resetImagePresentationState:(id)sender; -- (void) setCursorForView: (long) tool; -- (long) getTool: (NSEvent*) event; -- (void)resizeWindowToScale:(float)resizeScale; -- (float) getBlendedSUV; -- (OrthogonalMPRController*) controller; -- (void) roiChange:(NSNotification*)note; -- (void) roiSelected:(NSNotification*) note; -- (void) setStartWLWW; -- (void) stopROIEditing; -- (void) stopROIEditingForce:(BOOL) force; -- (void)subDrawRect: (NSRect)aRect; // Subclassable, default does nothing. -- (void) setDrawing:(BOOL) v; - -// methodes to access global variables (for plugins) -+ (BOOL) display2DMPRLines; -+ (unsigned char*) PETredTable; -+ (unsigned char*) PETgreenTable; -+ (unsigned char*) PETblueTable; - -//Timer method to start drag -- (void) startDrag:(NSTimer*)theTimer; -- (void)deleteMouseDownTimer; -- (id)dicomImage; - -//windowController -- (id)windowController; -- (BOOL)is2DViewer; - -//Hot key action --(BOOL)actionForHotKey:(NSString *)hotKey; - -//iChat -// New Draw method to allow for IChat Theater -- (void) drawRect:(NSRect)aRect withContext:(NSOpenGLContext *)ctx; -- (BOOL)_checkHasChanged:(BOOL)flag; - -// Methods for mouse drag response Can be modified for subclassing -// This allow the various tools to have different responses indifferent subclasses. -// Making it easie to modify mouseDragged: -- (NSPoint)currentPointInView:(NSEvent *)event; -- (BOOL)checkROIsForHitAtPoint:(NSPoint)point forEvent:(NSEvent *)event; -- (void)mouseDraggedForROIs:(NSEvent *)event; -- (void)mouseDraggedCrosshair:(NSEvent *)event; -- (void)mouseDragged3DRotate:(NSEvent *)event; -- (void)mouseDraggedZoom:(NSEvent *)event; -- (void)mouseDraggedTranslate:(NSEvent *)event; -- (void)mouseDraggedRotate:(NSEvent *)event; -- (void)mouseDraggedImageScroll:(NSEvent *)event; -- (void)mouseDraggedBlending:(NSEvent *)event; -- (void)mouseDraggedWindowLevel:(NSEvent *)event; -- (void)mouseDraggedRepulsor:(NSEvent *)event; -- (void)mouseDraggedROISelector:(NSEvent *)event; - -- (void)deleteROIGroupID:(NSTimeInterval)groupID; - -@end diff --git a/jp2 plugin/OsiriX Headers/MyPoint.h b/jp2 plugin/OsiriX Headers/MyPoint.h deleted file mode 100644 index e80998d..0000000 --- a/jp2 plugin/OsiriX Headers/MyPoint.h +++ /dev/null @@ -1,37 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import - - -@interface MyPoint : NSObject -{ - NSPoint pt; -} - -+ (MyPoint*) point: (NSPoint) a; - -- (id) initWithPoint:(NSPoint) a; -- (void) setPoint:(NSPoint) a; -- (float) y; -- (float) x; -- (NSPoint) point; -- (BOOL) isEqualToPoint:(NSPoint) a; -- (BOOL) isNearToPoint:(NSPoint) a :(float) scale :(float) ratio; -- (void) move:(float) x :(float) y; - -@end diff --git a/jp2 plugin/OsiriX Headers/PluginFileFormatDecoder.h b/jp2 plugin/OsiriX Headers/PluginFileFormatDecoder.h deleted file mode 100644 index 1c38a97..0000000 --- a/jp2 plugin/OsiriX Headers/PluginFileFormatDecoder.h +++ /dev/null @@ -1,63 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import - - -@interface PluginFileFormatDecoder : NSObject { - - NSNumber *_height; - NSNumber *_width; - float *_fImage; - NSNumber * _rowBytes; - NSNumber *_windowWidth; - NSNumber *_windowLevel; - BOOL _isRGB; - - NSString *_patientName; - NSString *_patientID; - NSString *_studyID; - NSString *_seriesID; - NSString *_imageID; - NSString *_studyDescription; - NSString *_seriesDescription; -} -// not used currently -+ (float *)decodedDataAtPath:(NSString *)path; - -/* - This is the main method to get the fImage float pointer used by DCMPix to create an image. - If the data is RGB the pointe should be to unsigned char with the format ARGB - Grayscale data is a float pointer -*/ - -- (float *)checkLoadAtPath:(NSString *)path; - -//returns values needed by DCMPix -- (NSNumber *)height; -- (NSNumber *)width; -- (NSNumber *)rowBytes; -- (NSNumber *)windowWidth; //optional -- (NSNumber *)windowLevel; //optional -- (BOOL)isRGB; //default is YES - -// Optional values for loading into the DB. -- (NSString *)patientName; -- (NSString *)patientID; -- (NSString *)studyID; -- (NSString *)seriesID; -- (NSString *)imageID; -- (NSString *)studyDescription; -- (NSString *)seriesDescription; - - -@end diff --git a/jp2 plugin/OsiriX Headers/PluginFilter.h b/jp2 plugin/OsiriX Headers/PluginFilter.h deleted file mode 100755 index 430ba29..0000000 --- a/jp2 plugin/OsiriX Headers/PluginFilter.h +++ /dev/null @@ -1,72 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - -#import - -#import "DCMPix.h" // An object containing an image, including pixels values -#import "ViewerController.h" // An object representing a 2D Viewer window -#import "DCMView.h" // An object representing the 2D pane, contained in a 2D Viewer window -#import "MyPoint.h" // An object representing a point -#import "ROI.h" // An object representing a ROI - -@interface PluginFilter : NSObject -{ - ViewerController* viewerController; // Current (frontmost and active) 2D viewer containing an image serie -} - -+ (PluginFilter *)filter; - -// FUNCTIONS TO SUBCLASS - -// This function is called to apply your plugin -- (long) filterImage: (NSString*) menuName; - -// This function is the entry point of Pre-Process plugins -- (long) processFiles: (NSArray*) files; - -// This function is the entry point of Report plugins -- (id) report: (NSManagedObject*) study action:(NSString*) action; - -// action = @"dateReport" -> return NSDate date of creation or modification of the report, 0L if no report available -// action = @"deleteReport" -> return 0L, delete the report -// action = @"openReport" -> return 0L, open and display the report, create a new one if no report available - -// This function is called at the OsiriX startup, if you need to do some memory allocation, etc. -- (void) initPlugin; - -// Opportunity for plugins to make Menu changes if necessary - -- (void)setMenus; - -// UTILITY FUNCTIONS - Defined in the PluginFilter.m file - -// Return the complete lists of opened studies in OsiriX -// NSArray contains an array of ViewerController objects -- (NSArray*) viewerControllersList; - -// Create a new 2D window, containing a copy of the current series -- (ViewerController*) duplicateCurrent2DViewerWindow; - -// Following stubs are to be subclassed by report filters. Included here to remove compile-time warning messages. - -- (id)reportDateForStudy: (NSManagedObject*)study; -- (void)deleteReportForStudy: (NSManagedObject*)study; -- (void)createReportForStudy: (NSManagedObject*)study; - -// PRIVATE FUNCTIONS - DON'T SUBCLASS OR MODIFY - -- (long) prepareFilter:(ViewerController*) vC; -@end diff --git a/jp2 plugin/OsiriX Headers/ROI.h b/jp2 plugin/OsiriX Headers/ROI.h deleted file mode 100644 index 685a838..0000000 --- a/jp2 plugin/OsiriX Headers/ROI.h +++ /dev/null @@ -1,291 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - - - -#import -#import "MyPoint.h" -#include - -enum -{ - ROI_sleep = 0, - ROI_drawing = 1, - ROI_selected = 2, - ROI_selectedModify = 3 -}; - -@class DCMView; -@class DCMPix; -@class StringTexture; -@class DCMObject; - -@interface ROI : NSObject -{ - int textureWidth, textureHeight; - - unsigned char* textureBuffer; - GLuint textureName, textureName2; - int textureUpLeftCornerX,textureUpLeftCornerY,textureDownRightCornerX,textureDownRightCornerY; - int textureFirstPoint; - - NSMutableArray *points; - NSMutableArray *zPositions; - NSRect rect; - - long type; - long mode; - BOOL needQuartz; - - float thickness; - - BOOL fill; - float opacity; - RGBColor color; - - BOOL closed,clickInTextBox; - - NSString *name; - NSString *comments; - - float pixelSpacingX, pixelSpacingY; - NSPoint imageOrigin; - - // **** **** **** **** **** **** **** **** **** **** TRACKING - - long selectedModifyPoint; - NSPoint clickPoint, previousPoint, originAnchor; - long fontListGL, *fontSize; - DCMView *curView; - DCMPix *pix; - - float rmean, rmax, rmin, rdev, rtotal; - float Brmean, Brmax, Brmin, Brdev, Brtotal; - - float mousePosMeasure; - - StringTexture *stringTex; - NSMutableDictionary *stanStringAttrib; - - NSString *_roiSeriesInstanceUID; - NSString *_sopInstanceUID; - NSString *_referencedSOPInstanceUID; - NSString *_referencedSOPClassUID; - int _frameNumber; - - ROI* parentROI; - - NSRect drawRect; - - float offsetTextBox_x, offsetTextBox_y; - - char line1[ 256], line2[ 256], line3[ 256], line4[ 256], line5[ 256]; - NSString *textualBoxLine1, *textualBoxLine2, *textualBoxLine3, *textualBoxLine4, *textualBoxLine5; - - BOOL _displayCalciumScoring; - int _calciumThreshold; - float _sliceThickness; - int _calciumCofactor; - - NSString *layerReferenceFilePath; - NSImage *layerImage;//, *layerImageWhenSelected; - NSData *layerImageJPEG;//, *layerImageWhenSelectedJPEG; - float layerPixelSpacingX, layerPixelSpacingY; - BOOL needsLoadTexture, needsLoadTexture2; - BOOL isLayerOpacityConstant; - BOOL canColorizeLayer; - NSColor *layerColor; - - NSNumber *uniqueID; // <- not saved, only valid during the 'life' of a ROI - NSTimeInterval groupID; // timestamp of a ROI group. Grouped ROI will be selected/deleted together. - - BOOL displayTextualData; -} - -+(void) loadDefaultSettings; -+(void) saveDefaultSettings; - -// Create a new ROI, needs the current pixel resolution and image origin -- (id) initWithType: (long) itype :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (id) initWithType: (long) itype :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -// arg: specific methods for tPlain roi -- (id) initWithTexture: (unsigned char*)tBuff textWidth:(int)tWidth textHeight:(int)tHeight textName:(NSString*)tName - positionX:(int)posX positionY:(int)posY - spacingX:(float) ipixelSpacingx spacingY:(float) ipixelSpacingy imageOrigin:(NSPoint) iimageOrigin; - - -- (void) setTextBoxOffset:(NSPoint) o; -- (BOOL) clickInTextBox; - -- (int)textureDownRightCornerX; -- (int)textureDownRightCornerY; -- (int)textureUpLeftCornerX; -- (int)textureUpLeftCornerY; - -- (int)textureWidth; -- (int)textureHeight; -- (unsigned char*) textureBuffer; -- (void)displayTexture; -- (float) opacity; -- (void) setOpacity:(float)newOpacity; -- (NSString*) name; -- (void) setName:(NSString*) a; - -// Return/Set the comments of the ROI -- (NSString*) comments; -- (void) setComments:(NSString*) a; - -// Return the type of the ROI -- (long) type; - -// Return the current state of the ROI -- (long) ROImode; - -// Return/set the points state of the ROI -- (NSMutableArray*) points; -- (void) setPoints:(NSArray*) points; -- (NSMutableArray*) zPositions; - -// Set resolution and origin associated to the ROI -- (void) setOriginAndSpacing :(float) ipixelSpacing :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin; -- (void) setOriginAndSpacing :(float) ipixelSpacingx :(float) ipixelSpacingy :(NSPoint) iimageOrigin :(BOOL) sendNotification; - -// Compute the roiArea in cm2 -- (float) roiArea; - -// Compute the geometric centroid in pixel space -- (NSPoint) centroid; - -// Compute the length for tMeasure ROI in cm -- (float) MesureLength: (float*) pixels; - -// Compute an angle between 2 lines -- (float) Angle:(NSPoint) p2 :(NSPoint) p1 :(NSPoint) p3; - -// To create a Rectangular ROI (tROI) or an Oval ROI (tOval) -- (void) setROIRect:(NSRect) rect; -- (NSRect) rect; - -- (float*) dataValuesAsFloatPointer :(long*) no; - -// Return the DCMPix associated to this ROI -- (DCMPix*) pix; - -// Return the DCMView associated to this ROI -- (DCMView*) curView; - -+ (NSPoint) pointBetweenPoint:(NSPoint) a and:(NSPoint) b ratio: (float) r; -+ (NSMutableArray*) resamplePoints: (NSArray*) points number:(int) no; - -// Set/retrieve default ROI name (if not set, then default name is the currentTool) -+ (void) setDefaultName:(NSString*) n; -+ (NSString*) defaultName; -- (void) setDefaultName:(NSString*) n; -- (NSString*) defaultName; - -- (BOOL)mouseRoiDown:(NSPoint)pt :(int)slice :(float)scale; -- (void) setMousePosMeasure:(float) p; -- (NSData*) data; -- (void) roiMove:(NSPoint) offset; -- (void) roiMove:(NSPoint) offset :(BOOL) sendNotification; -- (BOOL) mouseRoiDown:(NSPoint) pt :(float) scale; -- (BOOL) mouseRoiDragged:(NSPoint) pt :(unsigned int) modifier :(float) scale; -- (NSMutableArray*) dataValues; -- (BOOL) valid; -- (void) drawROI :(float) scaleValue :(float) offsetx :(float) offsety :(float) spacingx :(float) spacingy; -- (BOOL) needQuartz; -- (void) setROIMode :(long) v; -- (BOOL) deleteSelectedPoint; -- (RGBColor) rgbcolor; -- (void) setColor:(RGBColor) a; -- (float) thickness; -- (void) setThickness:(float) a; -- (NSMutableDictionary*) dataString; -- (BOOL) mouseRoiUp:(NSPoint) pt; -- (void) setRoiFont: (long) f :(long*) s :(DCMView*) v; -- (void) glStr: (unsigned char *) cstrOut :(float) x :(float) y :(float) line; -- (void) recompute; -- (void) rotate: (float) angle :(NSPoint) center; -- (BOOL)canResize; -- (void) resize: (float) factor :(NSPoint) center; -- (void) setPix: (DCMPix*) newPix; -- (DCMPix*) pix; -- (BOOL) reduceTextureIfPossible; -- (void) addMarginToBuffer: (int) margin; -- (void) drawTextualData; -- (long) clickInROI:(NSPoint) pt :(float) offsetx :(float) offsety :(float) scale :(BOOL) testDrawRect; -- (NSPoint) ProjectionPointLine: (NSPoint) Point :(NSPoint) startPoint :(NSPoint) endPoint; -// parent ROI -- (ROI*) parentROI; -- (void) setParentROI: (ROI*) aROI; - - -//DICOM info -- (NSString *) roiSeriesInstanceUID; -- (NSString *) sopInstanceUID; -- (NSString *) referencedSOPInstanceUID; -- (NSString *) referencedSOPClassUID; -- (int) frameNumber; - -- (void) setRoiSeriesInstanceUID:(NSString *)uid; -- (void) setSopInstanceUID:(NSString *)uid; -- (void) setReferencedSOPInstanceUID:(NSString *)uid; -- (void) setReferencedSOPClassUID:(NSString *)uid; -- (void) setFrameNumber:(int)frame; - -// Calcium Scoring - -- (int)calciumScoreCofactor; -- (float)calciumScore; -- (float)calciumVolume; -- (float)calciumMass; -- (void)setDisplayCalciumScoring:(BOOL)value; -- (void)setCalciumThreshold:(int)threshold; - -- (float) sliceThickness; -- (void) setSliceThickness:(float)sliceThickness; - -- (void)setLayerReferenceFilePath:(NSString*)path; -- (NSString*)layerReferenceFilePath; -- (void)setLayerImage:(NSImage*)image; -//- (void)setLayerImageWhenSelected:(NSImage*)image; -- (void)loadLayerImageTexture; -//- (void)loadLayerImageWhenSelectedTexture; -- (void)generateEncodedLayerImage; -- (void)setLayerPixelSpacingX:(float)x; -- (void)setLayerPixelSpacingY:(float)y; -- (BOOL)isPoint:(NSPoint)point inRectDefinedByPointA:(NSPoint)pointA pointB:(NSPoint)pointB pointC:(NSPoint)pointC pointD:(NSPoint)pointD; -- (NSPoint)rotatePoint:(NSPoint)point withAngle:(float)alpha aroundCenter:(NSPoint)center; - -- (void)setTextualBoxLine1:(NSString*)line; -- (void)setTextualBoxLine2:(NSString*)line; -- (void)setTextualBoxLine3:(NSString*)line; -- (void)setTextualBoxLine4:(NSString*)line; -- (void)setTextualBoxLine5:(NSString*)line; - -- (NSTimeInterval)groupID; -- (void)setGroupID:(NSTimeInterval)timestamp; - -- (NSPoint) lowerRightPoint; - -- (void)setIsLayerOpacityConstant:(BOOL)boo; -- (void)setCanColorizeLayer:(BOOL)boo; - -- (BOOL)setDisplayTextualData:(BOOL)boo; - -- (NSPoint)clickPoint; - -@end diff --git a/jp2 plugin/OsiriX Headers/ViewerController.h b/jp2 plugin/OsiriX Headers/ViewerController.h deleted file mode 100644 index 545465c..0000000 --- a/jp2 plugin/OsiriX Headers/ViewerController.h +++ /dev/null @@ -1,708 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - -#import -#import - -//#import "DCMView.h" -//#import "OpacityTransferView.h" -//#import "ColorTransferView.h" -//#import "MyPoint.h" -//#import "ROI.h" -//#import "ThickSlabController.h" -//#import "StudyView.h" -//#import "SeriesView.h" -//#import "CurvedMPR.h" -//#import "DICOMExport.h" -//#import "KeyObjectPopupController.h" -//#import "VRController.h" -//#import "MPR2DController.h" -//#import "OrthogonalMPRViewer.h" -//#import "OrthogonalMPRPETCTViewer.h" -//#import "SRController.h" -//#import "EndoscopyViewer.h" - -@class DCMView; -@class OpacityTransferView; -@class ColorTransferView; -@class MyPoint; -@class ROI; -@class ThickSlabController; -@class StudyView; -@class SeriesView; -@class ImageView; -@class CurvedMPR; -@class DICOMExport; -@class KeyObjectPopupController; -@class VRController; -@class MPR2DController; -@class OrthogonalMPRViewer; -@class OrthogonalMPRPETCTViewer; -@class SRController; -@class EndoscopyViewer; -@class VRPROController; - -#import "Schedulable.h" -#import "Scheduler.h" -#import "StaticScheduler.h" -#import "OSIWindowController.h" - -enum -{ - eSagittalPos = 0, // 0 - eSagittalNeg, // 1 - eCoronalPos, // 2 - eCoronalNeg, // 3 - eAxialPos, // 4 - eAxialNeg // 5 -}; - -@interface ViewerController : OSIWindowController -{ - NSLock *ThreadLoadImageLock; - NSLock *roiLock; - - IBOutlet StudyView *studyView; - SeriesView *seriesView; - - IBOutlet NSSplitView *splitView; - IBOutlet NSMatrix *previewMatrix; - IBOutlet NSScrollView *previewMatrixScrollView; - BOOL matrixPreviewBuilt; - - IBOutlet NSWindow *quicktimeWindow; - IBOutlet NSMatrix *quicktimeMode; - IBOutlet NSSlider *quicktimeInterval, *quicktimeFrom, *quicktimeTo; - IBOutlet NSTextField *quicktimeIntervalText, *quicktimeFromText, *quicktimeToText, *quicktimeNumber; - IBOutlet NSBox *quicktimeBox; - IBOutlet NSButton *quicktimeAllViewers; - - DCMView *imageView; - - IBOutlet NSView *orientationView; - IBOutlet NSMatrix *orientationMatrix; - - short currentOrientationTool, originalOrientation; - - IBOutlet NSSlider *slider, *speedSlider; - IBOutlet NSButton *loopButton; - IBOutlet NSView *speedView; - IBOutlet NSView *toolsView; - IBOutlet NSView *WLWWView; - IBOutlet NSView *ReconstructionView; - IBOutlet NSView *ConvView; - IBOutlet NSView *FusionView; - IBOutlet NSView *BlendingView; - IBOutlet NSView *movieView, *serieView, *patientView, *iPhotoView, *keyImages, *PagePad; - IBOutlet NSView *RGBFactorsView; - IBOutlet NSTextField *speedText; - IBOutlet NSPopUpButton *wlwwPopup; - IBOutlet NSPopUpButton *convPopup; - IBOutlet NSPopUpButton *clutPopup; - IBOutlet NSPopUpButton *OpacityPopup; - - IBOutlet NSView *propagateSettingsView; - - IBOutlet NSView *subCtrlView; - BOOL enableSubtraction; - IBOutlet NSButton *subCtrlOnOff; - long subCtrlMaskID; - NSPoint subCtrlMinMax; - IBOutlet NSTextField *subCtrlMaskText; - - NSPoint subCtrlOffset; - IBOutlet NSButton *sc1; - IBOutlet NSButton *sc2; - IBOutlet NSButton *sc3; - IBOutlet NSButton *sc4; - IBOutlet NSButton *sc5; - IBOutlet NSButton *sc6; - IBOutlet NSButton *sc7; - IBOutlet NSButton *sc8; - IBOutlet NSButton *sc9; - - IBOutlet NSSlider *subCtrlSum; - IBOutlet NSSlider *subCtrlPercent; - IBOutlet NSButton *subCtrlSharpenButton; - IBOutlet NSButton *shutterOnOff; - IBOutlet NSView *shutterView; - NSString *contextualDictionaryPath; //JF20070102 - - long speedometer; - - IBOutlet NSView *StatusView; - IBOutlet NSButton *CommentsField; - IBOutlet NSPopUpButton *StatusPopup; - IBOutlet NSWindow *CommentsWindow; - IBOutlet NSTextField *CommentsEditField; - - IBOutlet NSButton *keyImageCheck; - - - IBOutlet NSWindow *ThickIntervalWindow; - IBOutlet NSTextField *customInterval; - IBOutlet NSTextField *customXSpacing; - IBOutlet NSTextField *customYSpacing; - IBOutlet NSMatrix *customVectors, *customOrigin; - - IBOutlet NSWindow *setWLWWWindow; - IBOutlet NSTextField *wlset, *fromset; - IBOutlet NSTextField *wwset, *toset; - - IBOutlet NSWindow *addWLWWWindow; - IBOutlet NSTextField *newName; - IBOutlet NSTextField *wl; - IBOutlet NSTextField *ww; - IBOutlet NSMatrix *toolsMatrix; - - IBOutlet NSWindow *roiSetPixWindow; - IBOutlet NSTextField *maxValueText, *minValueText, *newValueText; - IBOutlet NSMatrix *InOutROI, *AllROIsRadio, *newValueMatrix; - IBOutlet NSButton *checkMaxValue, *checkMinValue, *setROI4DSeries; - - IBOutlet NSWindow *curvedMPRWindow; - IBOutlet NSTextField *curvedMPRtext; - IBOutlet NSSlider *curvedMPRslid; - IBOutlet NSButton *curvedMPRper; - IBOutlet NSSlider *curvedMPRsize; - IBOutlet NSTextField *curvedMPRsizeText; - IBOutlet NSSlider *curvedMPRinterval; - IBOutlet NSTextField *curvedMPRintervalText; - IBOutlet NSMatrix *curvedMPRaxis; - - IBOutlet NSWindow *blendingTypeWindow; - IBOutlet NSButton *blendingTypeMultiply, *blendingTypeSubtract; - IBOutlet NSButton *blendingTypeRed, *blendingTypeGreen, *blendingTypeBlue; - IBOutlet NSPopUpButton *blendingPlugins; - - IBOutlet NSWindow *roiPropaWindow; - IBOutlet NSMatrix *roiPropaMode, *roiPropaDim, *roiPropaCopy; - IBOutlet NSTextField *roiPropaDest; - - IBOutlet NSWindow *roiApplyWindow; - IBOutlet NSMatrix *roiApplyMatrix; - - IBOutlet NSWindow *addConvWindow; - IBOutlet NSMatrix *convMatrix, *sizeMatrix; - IBOutlet NSTextField *matrixName, *matrixNorm; - - IBOutlet NSWindow *addCLUTWindow; - IBOutlet NSTextField *clutName; - IBOutlet ColorTransferView *clutView; - - IBOutlet NSWindow *dcmExportWindow; - IBOutlet NSMatrix *dcmSelection, *dcmFormat; - IBOutlet NSSlider *dcmInterval, *dcmFrom, *dcmTo; - IBOutlet NSTextField *dcmIntervalText, *dcmFromText, *dcmToText, *dcmNumber; - IBOutlet NSBox *dcmBox; - IBOutlet NSButton *dcmAllViewers; - IBOutlet NSTextField *dcmSeriesName; - - IBOutlet NSWindow *imageExportWindow; - IBOutlet NSMatrix *imageSelection, *imageFormat; - - IBOutlet NSWindow *displaySUVWindow; - IBOutlet NSForm *suvForm; - IBOutlet NSMatrix *suvConversion; - - IBOutlet NSWindow *addOpacityWindow; - IBOutlet NSTextField *OpacityName; - IBOutlet OpacityTransferView *OpacityView; - - IBOutlet NSTextField *movieTextSlide; - IBOutlet NSButton *moviePlayStop; - IBOutlet NSSlider *movieRateSlider; - IBOutlet NSSlider *moviePosSlider; - - IBOutlet NSPopUpButton *blendingPopupMenu; - IBOutlet NSTextField *blendingPercentage; - IBOutlet NSSlider *blendingSlider; - ViewerController *blendingController; - - IBOutlet NSTextField *roiRenameName; - IBOutlet NSMatrix *roiRenameMatrix; - IBOutlet NSWindow *roiRenameWindow; - - NSString *curConvMenu, *curWLWWMenu, *curCLUTMenu, *curOpacityMenu; - - IBOutlet NSTextField *stacksFusion; - IBOutlet NSSlider *sliderFusion; - IBOutlet NSButton *activatedFusion; - IBOutlet NSPopUpButton *popFusion, *popupRoi, *ReconstructionRoi; - - IBOutlet NSMatrix *buttonToolMatrix; - - NSMutableArray *fileList[200]; - NSMutableArray *pixList[200], *roiList[200]; - NSData *volumeData[200]; - short curMovieIndex, maxMovieIndex, orientationVector; - NSToolbar *toolbar; - - float direction; - - float factorPET2SUV; - - volatile float loadingPercentage; - - volatile BOOL ThreadLoadImage, stopThreadLoadImage, loadingPause; - BOOL FullScreenOn; - NSWindow *FullScreenWindow; - NSWindow *StartingWindow; - NSView *contentView; - - NSTimer *timer, *movieTimer, *timeriChat; - NSTimeInterval lastTime, lastTimeFrame; - NSTimeInterval lastMovieTime; - - NSMutableArray *ROINamesArray; - - ThickSlabController *thickSlab; - - CurvedMPR *curvedController; - - DICOMExport *exportDCM; - - BOOL windowWillClose; - BOOL postprocessed; - - NSRect standardRect; - - // Brush ROI Filter - IBOutlet NSWindow *brushROIFilterOptionsWindow; - IBOutlet NSSlider *structuringElementRadiusSlider; - IBOutlet NSTextField *structuringElementRadiusTextField; - IBOutlet NSButton *brushROIFilterOptionsAllWithSameName; - IBOutlet NSButton *brushROIFilterOptionsOKButton; - NSString *morphoFunction; - BOOL morphoFunctionPreviewApplied; - IBOutlet NSPopUpButton *keyImagePopUpButton; - - KeyObjectPopupController *keyObjectPopupController; - BOOL displayOnlyKeyImages; - - int qt_to, qt_from, qt_interval, qt_dimension, current_qt_interval, qt_allViewers; - - IBOutlet NSView *reportTemplatesView; - IBOutlet NSImageView *reportTemplatesImageView; - IBOutlet NSPopUpButton *reportTemplatesListPopUpButton; - - NSConditionLock *processorsLock; - - IBOutlet NSWindow *printWindow; - IBOutlet NSMatrix *printSelection; - IBOutlet NSMatrix *printFormat; - IBOutlet NSSlider *printInterval, *printFrom, *printTo; - IBOutlet NSTextField *printIntervalText, *printFromText, *printToText; - IBOutlet NSBox *printBox; - IBOutlet NSMatrix *printSettings; - IBOutlet NSColorWell *printColor; - IBOutlet NSPopUpButton *printLayout; - IBOutlet NSTextField *printText, *printPagesToPrint; - - NSMutableArray *undoQueue, *redoQueue; - - BOOL SyncButtonBehaviorIsBetweenStudies; - - float resampleRatio; - - NSRect savedWindowsFrame; -} - -+ (NSMutableArray*) getDisplayed2DViewers; - -// Create a new 2D Viewer -+ (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (ViewerController *) newWindow:(NSMutableArray*)pixList :(NSMutableArray*)fileList :(NSData*) volumeData; -- (void) CloseViewerNotification: (NSNotification*) note; -- (void) replaceSeriesWith:(NSMutableArray*)newPixList :(NSMutableArray*)newDcmList :(NSData*) newData; - -// Return the 'dragged' window, the destination window is contained in the 'viewerController' object of the 'PluginFilter' object --(ViewerController*) blendedWindow; - -// Display a waiting window -- (id) startWaitWindow :(NSString*) message; - -- (id) startWaitProgressWindow :(NSString*) message :(long) max; -- (void) waitIncrementBy:(id) waitWindow :(long) val; - -- (void) endWaitWindow:(id) waitWindow; - -// Refresh the current displayed image -- (void) needsDisplayUpdate; - -// Return the memory pointer that contains the ENTIRE series (a unique memory block for all images) -- (float*) volumePtr; -- (float*) volumePtr: (long) i; - -// Return the index into fileList that coresponds to the index in pixList -- (long) indexForPix: (long) pixIndex; - -// Return the image pane object -- (DCMView*) imageView; - -// Return the array of DCMPix objects -- (NSMutableArray*) pixList; -- (NSMutableArray*) pixList: (long) i; - -// Return the array of DicomFile objects -- (NSMutableArray*) fileList; -- (NSMutableArray*) fileList: (long) i; - -// Return the array of ROI objects -- (NSMutableArray*) roiList; -- (NSMutableArray*) roiList: (long) i; - -// Create a new Point object -- (MyPoint*) newPoint: (float) x :(float) y; - -// Create a new ROI object -- (ROI*) newROI: (long) type; - -// Delete ALL ROIs of current series -- (IBAction) roiDeleteAll:(id) sender; - -// methods to access global variables -+ (long) numberOf2DViewer; - -// UNDOCUMENTED FUNCTIONS -// For more informations: rossetantoine@bluewin.ch - -- (void) addToUndoQueue:(NSString*) string; -- (id) prepareObjectForUndo:(NSString*) string; -- (IBAction) redo:(id) sender; -- (IBAction) undo:(id) sender; -- (void) updateRepresentedFileName; -- (IBAction) closeModal:(id) sender; -- (void)bringToFrontROI:(ROI*)roi; -- (void) activateFusion:(id) sender; -- (void) copySettingsToOthers: (id)sender; -- (void) setPostprocessed:(BOOL) v; -- (BOOL) postprocessed; -- (void) refresh; -- (IBAction) setPagesToPrint:(id) sender; -- (IBAction) endPrint:(id) sender; -- (IBAction) startMSRG:(id) sender; -- (IBAction) startMSRGWithAutomaticBounding:(id) sender; -//arg: this function will automatically scan the buffer to create a textured ROI (tPlain) for all slices -// param forValue: this param defines the region to extract in the stack buffer -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -//arg: Use this to extract all the rois from the -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff; -- (void)addRoiFromFullStackBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff withName:(NSString*)name; -- (void)addPlainRoiToCurrentSliceFromBuffer:(unsigned char*)buff forSpecificValue:(unsigned char)value withColor:(RGBColor)aColor withName:(NSString*)name; -- (ROI*)addLayerRoiToCurrentSliceWithImage:(NSImage*)image referenceFilePath:(NSString*)path layerPixelSpacingX:(float)layerPixelSpacingX layerPixelSpacingY:(float)layerPixelSpacingY; -- (ROI*)createLayerROIFromROI:(ROI*)roi; -- (void)createLayerROIFromSelectedROI; -- (IBAction)createLayerROIFromSelectedROI:(id)sender; -- (NSLock*) roiLock; -- (void) brushTool:(id) sender; -- (IBAction) setButtonTool:(id) sender; -- (IBAction) shutterOnOff:(id) sender; -- (void) setLoadingPause:(BOOL) lp; -- (void) setImageIndex:(long) i; -- (IBAction) ConvertToRGBMenu:(id) sender; -- (IBAction) ConvertToBWMenu:(id) sender; -- (void) place3DViewerWindow:(NSWindowController*) viewer; -- (IBAction) export2PACS:(id) sender; -- (void) print:(id) sender; -- (IBAction) roiDeleteWithName:(NSString*) name; -- (IBAction) roiIntDeleteAllROIsWithSameName :(NSString*) name; -- (IBAction) roiDeleteAllROIsWithSameName:(id) sender; -- (IBAction)resampleDataBy2:(id)sender; -- (BOOL)resampleDataBy2; -- (BOOL)resampleDataWithFactor:(float)factor; -- (BOOL)resampleDataWithXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromViewer:(ViewerController *)aViewer inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -+ (BOOL)resampleDataFromPixArray:(NSArray *)originalPixlist fileArray:(NSArray*)originalFileList inPixArray:(NSMutableArray*)aPixList fileArray:(NSMutableArray*)aFileList data:(NSData**)aData withXFactor:(float)xFactor yFactor:(float)yFactor zFactor:(float)zFactor; -- (IBAction) updateSUVValues:(id) sender; -- (IBAction) subCtrlOnOff:(id) sender; -- (IBAction) subCtrlNewMask:(id) sender; -- (IBAction) subCtrlOffset:(id) sender; -- (IBAction) subCtrlSliders:(id) sender; -- (int) threeTestsFivePosibilities: (int) f; -- (void) offsetMatrixSetting: (int) twentyFiveCodes; -- (IBAction) subSumSlider:(id) sender; -- (IBAction) subSharpen:(id) sender; -//JF20070103 -- (void) contextualDictionaryPath:(NSString *)newContextualDictionaryPath; -- (NSString *) contextualDictionaryPath; -- (void) contextualMenuEvent:(id)sender; -- (IBAction) setAxialOrientation:(id) sender; -- (IBAction) reSyncOrigin:(id) sender; -- (void) loadROI:(long) mIndex; -- (void) saveROI:(long) mIndex; -- (id) findPlayStopButton; -- (IBOutlet)setKeyImage:(id)sender; -- (BOOL) FullScreenON; -- (void) setROITool:(id) sender; -- (void) setROIToolTag:(int) roitype; -- (void) changeImageData:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v :(BOOL) applyTransition; -- (IBAction) loadSerie:(id) sender; -- (IBAction) loadPatient:(id) sender; -- (void) offFullScreen; -- (float) frame4DRate; -- (long) maxMovieIndex; -- (NSSlider*) moviePosSlider; -- (NSSlider*) sliderFusion; -- (IBAction) convMatrixAction:(id)sender; -- (IBAction) changeMatrixSize:(id) sender; -- (IBAction) computeSum:(id) sender; -- (IBAction) endNameWLWW:(id) sender; -- (IBAction) endSetWLWW:(id) sender; -- (IBAction) updateSetWLWW:(id) sender; -- (IBAction) endConv:(id) sender; -- (IBAction) endCLUT:(id) sender; -- (IBAction) endBlendingType:(id) sender; -- (IBAction) endQuicktime:(id) sender; -- (void) setDefaultTool:(id) sender; -- (OSErr)getFSRefAtPath:(NSString*)sourceItem ref:(FSRef*)sourceRef; -- (id) viewCinit:(NSMutableArray*)f :(NSMutableArray*) d :(NSData*) v; -- (void) setPixelList:(NSMutableArray*)f fileList:(NSMutableArray *)d volumeData:(NSData *) v; -- (void) speedSliderAction:(id) sender; -- (void) setupToolbar; -- (void) PlayStop:(id) sender; -- (short) getNumberOfImages; -- (float) frameRate; -- (void) adjustSlider; -- (void) sliderFusionAction:(id) sender; -- (void) popFusionAction:(id) sender; -- (void) propagateSettings; -- (void) setCurWLWWMenu:(NSString*)s ; -- (BOOL) is2DViewer; -- (NSString*) curCLUTMenu; -- (NSString*) curWLWWMenu; -- (BOOL) windowWillClose; -- (void) ApplyCLUTString:(NSString*) str; -- (NSSlider*) blendingSlider; -- (void) blendingSlider:(id) sender; -- (void) blendingMode:(id) sender; -- (ViewerController*) blendingController; -- (void)blendWithViewer:(ViewerController *)bc blendingType:(int)blendingType; -- (NSString*) modality; -- (NSString*) studyInstanceUID; -- (void) addMovieSerie:(NSMutableArray*)f :(NSMutableArray*)d :(NSData*) v; -- (void) startLoadImageThread; -- (void) moviePosSliderAction:(id) sender; -- (void) movieRateSliderAction:(id) sender; -- (void) MoviePlayStop:(id) sender; -- (void) MovieStop:(id) sender; -- (void) checkEverythingLoaded; -- (BOOL) isEverythingLoaded; -- (IBAction) roiSetPixelsCheckButton:(id) sender; -- (IBAction) roiSetPixelsSetup:(id) sender; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL)propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue; -- (IBAction) roiSetPixels:(ROI*)aROI :(short)allRois :(BOOL) propagateIn4D :(BOOL)outside :(float)minValue :(float)maxValue :(float)newValue :(BOOL) revert; -- (IBAction) roiSetPixels:(id) sender; -- (IBAction) roiPropagateSetup: (id) sender; -- (IBAction) roiPropagate:(id) sender; -- (void) showWindowTransition; -- (float) computeInterval; -- (IBAction) endThicknessInterval:(id) sender; -- (void) SetThicknessInterval:(id) constructionType; -//- (IBAction) MPRViewer:(id) sender; -- (IBAction) VRVPROViewer:(id) sender; -- (IBAction) VRViewer:(id) sender; -- (IBAction) MPR2DViewer:(id) sender; -- (IBAction) blendWindows:(id) sender; -- (IBAction) orthogonalMPRViewer:(id) sender; - -- (IBAction) endoscopyViewer:(id) sender; -- (IBAction) CurvedMPR:(id) sender; -- (void) showCurrentThumbnail:(id) sender; - -- (IBAction) SRViewer:(id) sender; -- (NSMenu *)contextualMenu; -- (void)createDCMViewMenu; -- (void) exportJPEG:(id) sender; -- (void)closeAllWindows:(NSNotification *)note; -- (NSMutableArray*) generateROINamesArray; -- (ThickSlabController*) thickSlabController; -- (IBAction) AddOpacity:(id) sender; -- (IBAction) endOpacity:(id) sender; -- (IBAction) updateImage:(id) sender; -//- (IBAction) HuVRViewer:(id) sender; -- (IBAction) clutAction:(id)sender; -- (void) tileWindows; --(IBAction) export2iPhoto:(id) sender; --(IBAction) PagePadCreate:(id) sender; -- (void) exportQuicktime:(id) sender; -- (IBAction) exportQuicktimeSlider:(id) sender; -- (IBAction) exportDICOMSlider:(id) sender; -- (IBAction) exportDICOMAllViewers:(id) sender; -- (IBAction) setComments:(id) sender; -- (IBAction) setStatus:(id) sender; -- (IBAction) endSetComments:(id) sender; -- (void) setMovieIndex: (short) i; -- (void) setCurvedController: (CurvedMPR*) cmpr; -- (CurvedMPR*) curvedController; -- (IBAction) setCurvedMPRslider:(id) sender; -- (IBAction) endCurvedMPR:(id) sender; -- (IBAction) resetImage:(id) sender; -+ (NSArray*) defaultROINames; -+ (void) setDefaultROINames: (NSArray*) names; -- (IBAction) endExportDICOMFileSettings:(id) sender; -- (IBAction) keyImageCheckBox:(id) sender; -- (IBAction) keyImageDisplayButton:(id) sender; -- (void) adjustKeyImage; -- (void) buildMatrixPreview; -- (void) buildMatrixPreview: (BOOL) showSelected; -- (void) matrixPreviewSelectCurrentSeries; -- (void) autoHideMatrix; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval; -- (void) exportQuicktimeIn:(long) dimension :(long) from :(long) to :(long) interval :(BOOL) allViewers; -- (IBAction) endExportImage: (id) sender; -- (IBAction) setCurrentPosition:(id) sender; -- (IBAction) setCurrentdcmExport:(id) sender; -- (IBAction) endDisplaySUV:(id) sender; -- (IBAction) endRoiRename:(id) sender; -- (IBAction) roiRename:(id) sender; -- (void) SyncSeries:(id) sender; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs error:(NSString**) error; -- (float) computeVolume:(ROI*) selectedRoi points:(NSMutableArray**) pts generateMissingROIs:(BOOL) generateMissingROIs generatedROIs:(NSMutableArray*) generatedROIs computeData:(NSMutableDictionary*) data error:(NSString**) error; -- (NSArray*) roisWithName: (NSString*) name; -- (NSArray*) roisWithComment: (NSString*) comment; -- (NSArray*) roiNames; -- (void) deleteSeriesROIwithName: (NSString*) name; -- (void) renameSeriesROIwithName: (NSString*) name newName:(NSString*) newName; -- (void)setStandardRect:(NSRect)rect; -- (void)setWindowFrame:(NSRect)rect; -- (IBAction) Panel3D:(id) sender; -- (void) revertSeries:(id) sender; -- (NSImage*) imageForROI: (int) i; -- (void) ActivateBlending:(ViewerController*) bC; -- (void) setFusionMode:(long) m; -- (short) curMovieIndex; -- (id) findiChatButton; -- (void) convertPETtoSUV; -- (IBAction) fullScreenMenu:(id) sender; --(int) imageIndexOfROI:(ROI*) c; -- (void)exportTextFieldDidChange:(NSNotification *)note; -- (short) orientationVector; -- (short) orthogonalOrientation; -// functions s that plugins can also play with globals -+ (ViewerController *) draggedController; -+ (void) setDraggedController:(ViewerController *) controller; -- clear8bitRepresentations; --(void) ApplyConvString:(NSString*) str; -- (void)checkView:(NSView *)aView :(BOOL) OnOff; -- (IBAction) applyConvolutionOnSource:(id) sender; -- (float) factorPET2SUV; -- (IBAction) flipDataSeries: (id) sender; -- (void) roiSetStartScheduler:(NSMutableArray*) roiToProceed; -- (void)setToolbarReportIconForItem:(NSToolbarItem *)item; -- (void)updateReportToolbarIcon:(NSNotification *)note; -- (IBAction) setOrientationTool:(id) sender; -- (void) setWindowTitle:(id) sender; -- (IBAction) printSlider:(id) sender; -- (void) setConv:(short*) matrix :(short) size :(short) norm; --(BOOL) checkFrameSize; -- (IBAction) vertFlipDataSet:(id) sender; -- (IBAction) horzFlipDataSet:(id) sender; -- (void) rotateDataSet:(int) constant; -- (void) SetSyncButtonBehavior:(id) sender; -- (IBAction) roiDeleteGeneratedROIsForName:(NSString*) name; -- (IBAction) roiDeleteGeneratedROIs:(id) sender; -- (ROI*)selectedROI; -- (NSMutableArray*) selectedROIs; - -- (void)setMode:(long)mode toROIGroupWithID:(NSTimeInterval)groupID; -- (void)selectROI:(ROI*)roi deselectingOther:(BOOL)deselectOther; -- (void)deselectAllROIs; - -#pragma mark- -#pragma mark Brush ROI Filters - -- (void) applyMorphology: (NSArray*) rois action:(NSString*) action radius: (long) radius sendNotification: (BOOL) sendNotification; - -- (IBAction) setStructuringElementRadius: (id) sender; -//- (IBAction) closeBrushROIFilterOptionsSheet: (id) sender; - -- (IBAction) morphoSelectedBrushROIWithRadius: (id) sender; -- (IBAction) morphoSelectedBrushROI: (id) sender; -//- (IBAction) dilateSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) dilateSelectedBrushROI: (id) sender; -//- (IBAction) closeSelectedBrushROIWithRadius: (id) sender; -//- (IBAction) closeSelectedBrushROI: (id) sender; -- (ROI*) roiMorphingBetween:(ROI*) a and:(ROI*) b ratio:(float) ratio; -- (ROI*) convertPolygonROItoBrush:(ROI*) selectedROI; -- (ROI*) convertBrushROItoPolygon:(ROI*) selectedROI numPoints: (int) numPoints; - -#pragma mark- -#pragma mark Registration - -- (NSMutableArray*) point2DList; -- (void) computeRegistrationWithMovingViewer:(ViewerController*) movingViewer; - -#pragma mark- -#pragma mark Key Objects -- (IBAction)createKeyObjectNote:(id)sender; -- (void)keyObjectSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(id)contextInfo; -- (IBAction)keyObjectNotes:(id)sender; -- (BOOL)displayOnlyKeyImages; -- (BOOL)isKeyImage:(int)index; - - - - -#pragma mark- -#pragma mark Convience methods for accessing values in the current imageView --(float)curWW; --(float)curWL; -- (void)setWL:(float)wl WW:(float)ww; -- (BOOL)xFlipped; -- (BOOL)yFlipped; -- (float)rotation; -- (void)setRotation:(float)rotation; -- (float)scaleValue; -- (void)setScaleValue:(float)scaleValue; -- (void)setYFlipped:(BOOL) v; -- (void)setXFlipped:(BOOL) v; - - -// Opening 3D Viewers -#pragma mark- -#pragma mark 3D Viewers -- (VRController *)openVRViewerForMode:(NSString *)mode; -- (VRPROController*)openVRVPROViewerForMode:(NSString *)mode; -- (OrthogonalMPRViewer *)openOrthogonalMPRViewer; -- (OrthogonalMPRPETCTViewer *)openOrthogonalMPRPETCTViewer; -- (MPR2DController *)openMPR2DViewer; -- (EndoscopyViewer *)openEndoscopyViewer; -- (SRController *)openSRViewer; - -- (SeriesView *) seriesView; -- (void)setImageRows:(int)rows columns:(int)columns; - -#pragma mark- -#pragma mark Calcium scoring -- (IBAction)calciumScoring:(id)sender; - -#pragma mark- -#pragma mark Centerline -- (IBAction)centerline: (id)sender; - -#pragma mark- -#pragma mark ROI Grouping -- (IBAction)groupSelectedROIs:(id)sender; -- (IBAction)ungroupSelectedROIs:(id)sender; - - -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name; -- (void) exportDICOMFileInt:(BOOL)screenCapture withName:(NSString*)name allViewers: (BOOL) allViewers; - -@end diff --git a/jp2 plugin/OsiriX Headers/browserController.h b/jp2 plugin/OsiriX Headers/browserController.h deleted file mode 100644 index 3c3fafa..0000000 --- a/jp2 plugin/OsiriX Headers/browserController.h +++ /dev/null @@ -1,270 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -/* -#import "DCMView.h" -#import "MyOutlineView.h" -#import "PreviewView.h" -#import "QueryController.h" -#import "AnonymizerWindowController.h" -*/ - -@class MPR2DController; -@class NSCFDate; -@class BurnerWindowController; -@class ViewerController; -@class BonjourPublisher; -@class BonjourBrowser; -@class AnonymizerWindowController; -@class QueryController; -@class PreviewView; -@class MyOutlineView; -@class DCMView; -@class DCMPix; - - - -enum RootTypes{PatientRootType, StudyRootType, RandomRootType}; -enum simpleSearchType {PatientNameSearch, PatientIDSearch}; -enum queueStatus{QueueHasData, QueueEmpty}; - -@interface BrowserController : NSWindowController//NSObject -{ - NSManagedObjectModel *managedObjectModel; - NSManagedObjectContext *managedObjectContext; - - NSString *currentDatabasePath; - BOOL isCurrentDatabaseBonjour; - NSString *transferSyntax; - NSArray *dirArray; - NSToolbar *toolbar; - - NSMutableArray *files2Send, *sendQueue; - id destinationServer; - - NSMutableArray *previewPix; - - NSMutableArray *draggedItems; - - NSMutableDictionary *activeSends; - NSMutableArray *sendLog; - NSMutableDictionary *activeReceives; - NSMutableArray *receiveLog; - - QueryController * queryController; - AnonymizerWindowController *anonymizerController; - BurnerWindowController *burnerWindowController; - - - DCMPix *curPreviewPix; - - NSTimer *timer, *IncomingTimer, *matrixDisplayIcons, *refreshTimer; - long loadPreviewIndex, previousNoOfFiles; - NSManagedObject *previousItem; - - long COLUMN; - IBOutlet NSSplitView *splitViewHorz, *splitViewVert; - - BOOL setDCMDone; - - volatile BOOL shouldDie, threadRunning, threadWillRunning, bonjourDownloading; - - NSArray *outlineViewArray; - NSArray *matrixViewArray; - NSArray *allColumns; - - IBOutlet NSTextField *databaseDescription; - IBOutlet MyOutlineView *databaseOutline; - IBOutlet NSMatrix *oMatrix; - IBOutlet NSTableView *albumTable; - IBOutlet NSSegmentedControl *segmentedAlbumButton; - - IBOutlet NSTextField *bonjourServiceName; - IBOutlet NSTableView *bonjourServicesList; - IBOutlet NSButton *bonjourSharingCheck; - BonjourPublisher *bonjourPublisher; - BonjourBrowser *bonjourBrowser; - - IBOutlet NSProgressIndicator *working; - IBOutlet NSSlider *animationSlider; - IBOutlet NSButton *animationCheck; - - - IBOutlet PreviewView *imageView; - IBOutlet NSWindow *serverWindow; - IBOutlet NSTextField *noImages; - IBOutlet NSComboBox *serverList; - IBOutlet NSComboBox *syntaxList; - IBOutlet NSMatrix *DICOMSendTool; - - - IBOutlet NSWindow *newAlbum; - IBOutlet NSTextField *newAlbumName; - - IBOutlet NSDrawer *albumDrawer; - - IBOutlet NSWindow *customTimeIntervalWindow; - IBOutlet NSDatePicker *customStart, *customEnd, *customStart2, *customEnd2; - IBOutlet NSView *timeIntervalView; - int timeIntervalType; - NSDate *timeIntervalStart, * timeIntervalEnd; - - IBOutlet NSView *searchView; - IBOutlet NSSearchField *searchField; - NSToolbarItem *toolbarSearchItem; - int searchType; - - IBOutlet NSTextField *sendStatusField; - IBOutlet NSWindow *searchWindow; - IBOutlet NSWindow *smartWindow; - IBOutlet NSWindow *mainWindow; - IBOutlet NSMenu *imageTileMenu; - IBOutlet NSWindow *urlWindow; - IBOutlet NSTextField *urlString; - - IBOutlet NSTableView *sendLogTable; - IBOutlet NSTableView *receiveLogTable; - - IBOutlet NSForm *rdPatientForm; - IBOutlet NSForm *rdPixelForm; - IBOutlet NSForm *rdVoxelForm; - IBOutlet NSForm *rdOffsetForm; - IBOutlet NSMatrix *rdPixelTypeMatrix; - IBOutlet NSView *rdAccessory; - -// IBOutlet NSTextField *pNo, *pSize, *pLoc; -// IBOutlet NSButton *showAll; - -// IBOutlet NSWindow *window; - - BOOL showAllImages; - NSConditionLock *queueLock; -} - -+ (BrowserController*) currentBrowser; - -- (NSManagedObjectModel *)managedObjectModel; -- (NSManagedObjectContext *)managedObjectContext; - -- (void) addURLToDatabaseEnd:(id) sender; -- (void) addURLToDatabase:(id) sender; -- (NSArray*) addURLToDatabaseFiles:(NSArray*) URLs; -- (BOOL) findAndSelectFile:(NSString*) file :(NSManagedObject*) dcmFile :(BOOL) expand; -- (IBAction) sendiDisk:(id) sender; -- (IBAction) sendiPod:(id) sender; -- (void) selectServer: (NSArray*) files; -- (void) loadDICOMFromiPod; --(void) saveDatabase:(NSString*) path; -- (void) addDICOMDIR:(NSString*) dicomdir :(NSMutableArray*) files; --(NSMutableArray*) copyFilesIntoDatabaseIfNeeded:(NSMutableArray*) filesInput; --(void) loadSeries :(NSManagedObject *)curFile :(ViewerController*) viewer :(BOOL) firstViewer; --(void) loadNextPatient:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer; --(void) loadNextSeries:(NSManagedObject *) curImage :(long) direction :(ViewerController*) viewer :(BOOL) firstViewer; -- (void) export2PACS:(id) sender; -- (void) queryDICOM:(id) sender; -- (void)sendDICOMFiles:(NSMutableArray *)files; -- (IBAction) endSelectServer:(id) sender; -- (IBAction) delItem:(id) sender; -- (IBAction) selectFilesAndFoldersToAdd:(id) sender; -- (void) showDatabase:(id)sender; --(IBAction) matrixPressed:(id)sender; --(void) loadDatabase:(NSString*) path; -- (void) viewerDICOM:(id) sender; -- (void) viewerDICOMInt:(BOOL) movieViewer dcmFile:(NSArray *)selectedLines viewer:(ViewerController*) viewer; -- (void) openViewerFromImages:(NSArray*) toOpenArray movie:(BOOL) movieViewer viewer:(ViewerController*) viewer; - -- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted; -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar; -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar; -- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem; - --(void) saveSPLIT; -- (void) setupToolbar; - -- (IBAction)customize:(id)sender; -- (IBAction)showhide:(id)sender; - -- (void) exportDICOMFile:(id) sender; -- (void) viewerDICOM:(id) sender; -- (void) burnDICOM:(id) sender; -- (IBAction) anonymizeDICOM:(id) sender; -- (IBAction)addSmartAlbum: (id)sender; -- (IBAction)search: (id)sender; -- (IBAction)setSearchType: (id)sender; -- (IBAction)setImageTiling: (id)sender; - -- (IBAction)setTimeIntervalType: (id)sender; -- (IBAction) endCustomInterval:(id) sender; -- (IBAction) customIntervalNow:(id) sender; - -- (IBAction) opendDatabase:(id) sender; -- (IBAction) createDatabase:(id) sender; -- (void) openDatabaseIn:(NSString*) a; - -- (void) ReBuildDatabase:(id) sender; -- (long) COLUMN; -- (BOOL) is2DViewer; -- (void) previewSliderAction:(id) sender; -- (void)addHelpMenu; - -- (BOOL) isItCD:(NSArray*) pathFilesComponent; -- (void)setSendMessage:(NSNotification *)note; -- (void)receivedImage:(NSNotification *)note; -- (void)storeSCPComplete:(id)sender; -- (NSMutableArray *)filesForDatabaseOutlineSelection :(NSMutableArray*) correspondingDicomFile; -- (NSMutableArray *)albumForDB:(NSArray *)db forCriteria:(NSArray *)criteria; - -- (BOOL) addFilesToDatabase:(NSArray*) newFilesArray; -- (void) addFilesAndFolderToDatabase:(NSArray*) filenames; - -//- (short) createAnonymizedFile:(NSString*) srcFile :(NSString*) dstFile; -- (IBAction)setSendTransferSyntax:(id)sender; -- (void)setTransferSyntax:(NSString *)ts; -- (void)runSendQueue:(id)object; -- (void)addToQueue:(NSArray *)array; -- (MyOutlineView*) databaseOutline; - --(void) previewPerformAnimation:(id) sender; --(void) matrixDisplayIcons:(id) sender; - -- (void)reloadReceiveLog:(id)sender; -- (void)reloadSendLog:(id)sender; -- (IBAction)importRawData:(id)sender; -- (void) setBurnerWindowControllerToNIL; - -- (void) refreshColumns; -- (void) outlineViewRefresh; -- (void) matrixInit:(long) noOfImages; -- (IBAction) albumButtons: (id)sender; -- (NSArray*) albumArray; -- (NSArray*) childrenArray: (NSManagedObject*) item; - -- (NSArray*) imagesPathArray: (NSManagedObject*) item; - -//bonjour -- (void)setServiceName:(NSString*) title; -- (IBAction)toggleBonjourSharing:(id) sender; -- (void) bonjourWillPublish; -- (void) bonjourDidStop; -- (IBAction) bonjourServiceClicked:(id)sender; -- (NSString*) currentDatabasePath; -- (void) setBonjourDownloading:(BOOL) v; -- (NSString*) getLocalDCMPath: (NSManagedObject*) obj; - -//DB plugins -- (void)executeFilter:(id)sender; - -@end diff --git a/jp2 plugin/OsiriX Headers/dicomFile.h b/jp2 plugin/OsiriX Headers/dicomFile.h deleted file mode 100644 index eacd3fe..0000000 --- a/jp2 plugin/OsiriX Headers/dicomFile.h +++ /dev/null @@ -1,91 +0,0 @@ -/*========================================================================= - Program: OsiriX - - Copyright (c) OsiriX Team - All rights reserved. - Distributed under GNU - GPL - - See http://www.osirix-viewer.com/copyright.html for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. -=========================================================================*/ - - -#import -#import - - - -@interface DicomFile: NSObject -{ - NSString *name; - NSString *study; - NSString *serie; - NSString *filePath, *fileType; - NSString *Modality; - NSString *SOPUID; - NSString *imageType; - - NSString *studyID; - NSString *serieID; - NSString *imageID; - NSString *patientID; - NSString *studyIDs; - NSString *seriesNo; - NSCalendarDate *date; - - long width, height; - long NoOfFrames; - long NoOfSeries; - - NSMutableDictionary *dicomElements; - -} -// file functions -+ (BOOL) isTiffFile:(NSString *) file; -+ (BOOL) isFVTiffFile:(NSString *) file; -+ (BOOL) isNIfTIFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file; -+ (BOOL) isDICOMFile:(NSString *) file compressed:(BOOL*) compressed; -+ (BOOL) isXMLDescriptedFile:(NSString *) file; -+ (BOOL) isXMLDescriptorFile:(NSString *) file; -+ (void) setFilesAreFromCDMedia: (BOOL) f; -+ (void) setDefaults; -+ (void) resetDefaults; -+ (NSString*) NSreplaceBadCharacter: (NSString*) str; -+ (char *) replaceBadCharacter:(char *) str encoding: (NSStringEncoding) encoding; -+ (NSString *) stringWithBytes:(char *) str encodings: (NSStringEncoding*) encoding; - -- (long) NoOfFrames; -- (long) getWidth; -- (long) getHeight; -- (long) NoOfSeries; -- (id) init:(NSString*) f; -- (id) init:(NSString*) f DICOMOnly:(BOOL) DICOMOnly; -- (id) initRandom; -- (NSString*) patientUID; -- (NSMutableDictionary *)dicomElements; -- (id)elementForKey:(id)key; -- (short)getPluginFile; -- (void)extractSeriesStudyImageNumbersFromFileName:(NSString *)tempString; -- (short) decodeDICOMFileWithDCMFramework; - -- (id) initWithXMLDescriptor: (NSString*)pathToXMLDescriptor path:(NSString*) f; --(short) getDicomFile; --(short) getNIfTI; -+(NSXMLDocument *) getNIfTIXML : (NSString *) file; -- (BOOL)autoFillComments; -- (BOOL)splitMultiEchoMR; -- (BOOL)useSeriesDescription; -- (BOOL) noLocalizer; -- (BOOL)combineProjectionSeries; -- (BOOL)combineProjectionSeriesMode; -- (BOOL)checkForLAVIM; -- (BOOL)separateCardiac4D; -- (int)commentsGroup ; -- (int)commentsElement ; -@end - - diff --git a/jp2 plugin/jp2.xcodeproj/project.pbxproj b/jp2 plugin/jp2.xcodeproj/project.pbxproj index 1f0ddcc..52475dd 100644 --- a/jp2 plugin/jp2.xcodeproj/project.pbxproj +++ b/jp2 plugin/jp2.xcodeproj/project.pbxproj @@ -7,21 +7,12 @@ objects = { /* Begin PBXBuildFile section */ - 7E54689208F19F9C00F361A9 /* PluginFileFormatDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E54689108F19F9C00F361A9 /* PluginFileFormatDecoder.h */; }; - 7E6AA421089EAE830020E83A /* OsiriX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E6AA420089EAE830020E83A /* OsiriX.framework */; }; 8D5B49AE048680CD000E48DA /* Duplicate_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32DBCF630370AF2F00C91783 /* Duplicate_Prefix.pch */; }; 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; ABA48A650680BB600089EB4F /* JP2Filter.h in Headers */ = {isa = PBXBuildFile; fileRef = ABA48A640680BB600089EB4F /* JP2Filter.h */; }; ABA48A670680BB690089EB4F /* JP2Filter.m in Sources */ = {isa = PBXBuildFile; fileRef = ABA48A660680BB690089EB4F /* JP2Filter.m */; }; - ABB76340067FB2A8000912C1 /* DCMPix.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB76339067FB2A8000912C1 /* DCMPix.h */; }; - ABB76341067FB2A8000912C1 /* DCMView.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB7633A067FB2A8000912C1 /* DCMView.h */; }; - ABB76342067FB2A8000912C1 /* dicomFile.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB7633B067FB2A8000912C1 /* dicomFile.h */; }; - ABB76343067FB2A8000912C1 /* MyPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB7633C067FB2A8000912C1 /* MyPoint.h */; }; - ABB76344067FB2A8000912C1 /* PluginFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB7633D067FB2A8000912C1 /* PluginFilter.h */; }; - ABB76345067FB2A8000912C1 /* ROI.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB7633E067FB2A8000912C1 /* ROI.h */; }; - ABB76346067FB2A8000912C1 /* ViewerController.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB7633F067FB2A8000912C1 /* ViewerController.h */; }; - BFB0264F088CAB6E009EE9ED /* browserController.h in Headers */ = {isa = PBXBuildFile; fileRef = BFB0264E088CAB6E009EE9ED /* browserController.h */; }; + CEB6E5BA172D120B00826F3F /* OsiriXAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEB6E5B9172D120B00826F3F /* OsiriXAPI.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -30,21 +21,11 @@ 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 32DBCF630370AF2F00C91783 /* Duplicate_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Duplicate_Prefix.pch; sourceTree = ""; }; - 7E54689108F19F9C00F361A9 /* PluginFileFormatDecoder.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PluginFileFormatDecoder.h; sourceTree = ""; }; - 7E6AA420089EAE830020E83A /* OsiriX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OsiriX.framework; path = ../../build/Development/OsiriX.framework; sourceTree = SOURCE_ROOT; }; - 7E6AA4A3089EC26F0020E83A /* tagDictionary.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist; name = tagDictionary.plist; path = "../../DCM Framework/tagDictionary.plist"; sourceTree = SOURCE_ROOT; }; 8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; AB5D36050680E57E00F4007A /* jp2.osirixplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = jp2.osirixplugin; sourceTree = BUILT_PRODUCTS_DIR; }; ABA48A640680BB600089EB4F /* JP2Filter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JP2Filter.h; sourceTree = ""; }; ABA48A660680BB690089EB4F /* JP2Filter.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = JP2Filter.m; sourceTree = ""; }; - ABB76339067FB2A8000912C1 /* DCMPix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DCMPix.h; sourceTree = ""; }; - ABB7633A067FB2A8000912C1 /* DCMView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DCMView.h; sourceTree = ""; }; - ABB7633B067FB2A8000912C1 /* dicomFile.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = dicomFile.h; sourceTree = ""; }; - ABB7633C067FB2A8000912C1 /* MyPoint.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MyPoint.h; sourceTree = ""; }; - ABB7633D067FB2A8000912C1 /* PluginFilter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PluginFilter.h; sourceTree = ""; }; - ABB7633E067FB2A8000912C1 /* ROI.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ROI.h; sourceTree = ""; }; - ABB7633F067FB2A8000912C1 /* ViewerController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ViewerController.h; sourceTree = ""; }; - BFB0264E088CAB6E009EE9ED /* browserController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = browserController.h; sourceTree = ""; }; + CEB6E5B9172D120B00826F3F /* OsiriXAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OsiriXAPI.framework; path = ../../osirix/build/Development/OsiriXAPI.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -53,7 +34,7 @@ buildActionMask = 2147483647; files = ( 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */, - 7E6AA421089EAE830020E83A /* OsiriX.framework in Frameworks */, + CEB6E5BA172D120B00826F3F /* OsiriXAPI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -75,7 +56,6 @@ 089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = { isa = PBXGroup; children = ( - 7E6AA420089EAE830020E83A /* OsiriX.framework */, 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */, 1058C7AEFEA557BF11CA2CBB /* Other Frameworks */, ); @@ -94,7 +74,6 @@ 08FB77AFFE84173DC02AAC07 /* Classes */ = { isa = PBXGroup; children = ( - ABB76338067FB2A8000912C1 /* OsiriX Headers */, AB2C26750677B0C400A08910 /* DBFilter */, ); name = Classes; @@ -103,6 +82,7 @@ 1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = { isa = PBXGroup; children = ( + CEB6E5B9172D120B00826F3F /* OsiriXAPI.framework */, 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */, ); name = "Linked Frameworks"; @@ -142,23 +122,6 @@ name = DBFilter; sourceTree = ""; }; - ABB76338067FB2A8000912C1 /* OsiriX Headers */ = { - isa = PBXGroup; - children = ( - 7E54689108F19F9C00F361A9 /* PluginFileFormatDecoder.h */, - 7E6AA4A3089EC26F0020E83A /* tagDictionary.plist */, - BFB0264E088CAB6E009EE9ED /* browserController.h */, - ABB7633D067FB2A8000912C1 /* PluginFilter.h */, - ABB76339067FB2A8000912C1 /* DCMPix.h */, - ABB7633A067FB2A8000912C1 /* DCMView.h */, - ABB7633B067FB2A8000912C1 /* dicomFile.h */, - ABB7633C067FB2A8000912C1 /* MyPoint.h */, - ABB7633E067FB2A8000912C1 /* ROI.h */, - ABB7633F067FB2A8000912C1 /* ViewerController.h */, - ); - path = "OsiriX Headers"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -167,16 +130,7 @@ buildActionMask = 2147483647; files = ( 8D5B49AE048680CD000E48DA /* Duplicate_Prefix.pch in Headers */, - ABB76340067FB2A8000912C1 /* DCMPix.h in Headers */, - ABB76341067FB2A8000912C1 /* DCMView.h in Headers */, - ABB76342067FB2A8000912C1 /* dicomFile.h in Headers */, - ABB76343067FB2A8000912C1 /* MyPoint.h in Headers */, - ABB76344067FB2A8000912C1 /* PluginFilter.h in Headers */, - ABB76345067FB2A8000912C1 /* ROI.h in Headers */, - ABB76346067FB2A8000912C1 /* ViewerController.h in Headers */, ABA48A650680BB600089EB4F /* JP2Filter.h in Headers */, - BFB0264F088CAB6E009EE9ED /* browserController.h in Headers */, - 7E54689208F19F9C00F361A9 /* PluginFileFormatDecoder.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -279,7 +233,9 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SRCROOT)/../../build/Development", "$(SRCROOT)/../../Binaries", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../osirix/build/Development\""; GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_ENABLE_TRIGRAPHS = NO; @@ -294,7 +250,6 @@ INSTALL_PATH = "@executable_path/../Plug-ins"; LIBRARY_SEARCH_PATHS = ""; LIBRARY_STYLE = Bundle; - MACOSX_DEPLOYMENT_TARGET = 10.3; OTHER_CFLAGS = ""; OTHER_LDFLAGS = ( "-undefined", @@ -320,7 +275,9 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SRCROOT)/../../build/Development", "$(SRCROOT)/../../Binaries", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../osirix/build/Development\""; GCC_ENABLE_FIX_AND_CONTINUE = NO; GCC_ENABLE_TRIGRAPHS = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -351,7 +308,9 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SRCROOT)/../../build/Development", "$(SRCROOT)/../../Binaries", + "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", ); + FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../osirix/build/Development\""; GCC_ENABLE_TRIGRAPHS = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Duplicate_Prefix.pch; @@ -377,36 +336,27 @@ BF524C00088B0F97009A4B6B /* Development */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); - MACOSX_DEPLOYMENT_TARGET = 10.4; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + SDKROOT = ""; }; name = Development; }; BF524C01088B0F97009A4B6B /* Deployment */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); - MACOSX_DEPLOYMENT_TARGET = 10.4; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + SDKROOT = ""; }; name = Deployment; }; BF524C02088B0F97009A4B6B /* Default */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = ( - ppc, - i386, - ); - MACOSX_DEPLOYMENT_TARGET = 10.4; - SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + SDKROOT = ""; }; name = Default; }; diff --git a/jp2 plugin/jp2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/jp2 plugin/jp2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..0de20d6 --- /dev/null +++ b/jp2 plugin/jp2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/jp2 plugin/jp2.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate b/jp2 plugin/jp2.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..dbf0144 Binary files /dev/null and b/jp2 plugin/jp2.xcodeproj/project.xcworkspace/xcuserdata/antoinerosset.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/jp2 plugin/jp2.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/jp2.xcscheme b/jp2 plugin/jp2.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/jp2.xcscheme new file mode 100644 index 0000000..7551bea --- /dev/null +++ b/jp2 plugin/jp2.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/jp2.xcscheme @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jp2 plugin/jp2.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist b/jp2 plugin/jp2.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ee2eeb4 --- /dev/null +++ b/jp2 plugin/jp2.xcodeproj/xcuserdata/antoinerosset.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + jp2.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D5B49AC048680CD000E48DA + + primary + + + + +