Wednesday, February 5, 2014

Insert a ckeckmark symbol in word

Insert a check mark symbol in Word

You can easily insert a check mark symbol in your Word documents and Excel workbooks. The Wingdings® font that most Microsoft Windows® users have installed enables you to choose between several symbols that can be used as a check mark. The most common symbols include:
Check mark symbol X symbol Checked box symbol X in box symbol

Insert a symbol by using the Symbol command

  1. On the Insert tab, in the Symbols group, click Symbol.
  2. In the Symbol dialog box, on the Symbols tab, in the Font box, click Wingdings.
  3. Scroll to the bottom of the list, where you will find several common check mark symbols. Double-click the symbol that you want.

Insert a symbol by using its character code

You can also use the character code of the symbol as a keyboard shortcut. For example, to insert the check mark symbol, change the font to Wingdings, and then press and hold ALT while typing 0252 on the numeric keypad.

Thursday, January 31, 2013

Build tools and scripting languages

Nant reference
http://nant.sourceforge.net/release/0.85/help/tasks/index.html

Ant Reference
http://ant.apache.org/manual/index.html

MSBuild
http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx

Nmake (Makefile):
http://msdn.microsoft.com/en-us/library/dd9y37ha.aspx

MS-DOS command line reference 
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds.mspx?mfr=true

Cruise control.NET
http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET

Watin
http://watin.org/

Perl reference
http://perldoc.perl.org/index-language.html

PHP Reference
http://php.net/manual/en/language.references.php

Python reference
http://docs.python.org/2/reference/




Nant: Exception getting ConfigurationFileLocation


After downloading Nant 0.91, I'm getting some rather cryptic configuration errors relating to configuration or security (see below).
I'm trying to simply upgrade my Nant executables from 0.86 to 0.91.
How can I resolve the issues below when building on a Windows 7 machine?
log4net:ERROR XmlConfiguratorAttribute: Exception getting ConfigurationFileLocation. Must be able to resolve ConfigurationFileLocation when ConfigFile and ConfigFileExtension properties are not set. System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) at System.Security.CodeAccessPermission.Demand() at System.AppDomainSetup.VerifyDir(String dir, Boolean normalize) at log4net.Util.SystemInfo.get_ConfigurationFileLocation() at log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(Assembly sourceAssembly, ILoggerRepository targetRepository)
The action that failed was: Demand The type of the first permission that failed was: System.Security.Permissions.FileIOPermission The Zone of the assembly that failed was: Internet
Unhandled Exception: System.Security.SecurityException: Request for ConfigurationPermission failed while attempting to access configuration section 'nant'. To allow all callers to access the data for this section, set section attribute 'requirePermission' equal 'false' in the configuration file where this section is declared. ---> System.Security.SecurityException: Request for the permission of type 'System.Configuration.ConfigurationPermission, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' failed. at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) at System.Security.CodeAccessPermission.Demand() at System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(String configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca) --- End of inner exception stack trace --- at System.Configuration.BaseConfigurationRecord.CheckPermissionAllowed(String configKey, Boolean requirePermission, Boolean isTrustedWithoutAptca) at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName) at System.Configuration.ConfigurationManager.GetSection(String sectionName) at NAnt.Console.ConsoleStub.Framework.GetRuntimeFramework() at NAnt.Console.ConsoleStub.Main(String[] args


I found that the problem was Windows 7 security related in that the downloaded NAnt 0.91 zip file needed additional security related configuration to be performed: before extracting, one must right click on the zip file, select Properties and under the General tab, click the button labelled Unblock, then click OK on the Properties window. Now, extract the file to your desired location, ensure it is on the system path, open a new command line and NAnt should run successfully.

Wednesday, December 12, 2012

C# File Browser

LUT within DICOM images

Lookup Tables

There are 4 types of lookup table (LUT) which can be found within DICOM images are part of the standard, and one further type which exists in DicomObjects.

Palette Colour LUTs

These are only used when the Photometric_Interpretation is PALETTE COLOR. They can be 8 or 16 bit, and 3 copies exist, one each for red, blue and green.

Main DICOM LUTs

Modality LUT

The Modality LUT transformation transforms the manufacturer dependent pixel values into pixel values which are meaningful for the modality and which are manufacturer independent.
In the case of a linear transformation, the Modality LUT is described by the Rescale Slope (0028, 1053) and Rescale Intercept (0028, 1052). In the case of a non-linear transformation, the Modality LUT is described by the Modality LUT Sequence (0028, 3000).
As Modality LUT is a pre-windowing transformation, Image's Window Center and Width can still be changed after Modality LUT is applied.

Values of Interest (VOI) LUT

The Value Of Interest(VOI) LUT transformation transforms the modality pixel values into pixel values which are meaningful for the user or the application.
In the case of a linear transformation, the VOI LUT is described by the Window Center (0028, 1050) and Window Width (0028, 1051). In the case of a non-linear transformation, the VOI LUT is described by the VOI LUT Sequence (0028, 3010).
In general, VOI LUT is the best supported. It serves as a Replacement for Window Center and Width therefor it is NOT technically allowed to window an image with a VOI LUT applied.

Presentation LUT

The Presentation LUT transformation transforms the pixel values into P-Values, a device indenpendent perceptually linear space. It may be an identity function if the output of the VOI LUT transformation is in P-Values.
In the case of a linear transformation, the Presentation LUT is described by teh Presentation LUT Shape (2050, 0020). In the case of a non-linear trnsformation, the Presentation LUT is described by the Presentation LUT Sequence (2050,0010).
Please note, NOT every Viewer supports all the LUTs. VOI LUT is best supported, as we mentioned above, then comes the Modality LUT and finally the Presentation LUT (This is from our experience). Even if all are individually supported, some viewer may not "chain" them correctly. For those reasons, sometimes it is better to apply any LUTs that your images need into the Pixel Data (i.e. replace the pixel data by a post-LUT equivalent).

DicomObjects ColourTable

This 2D-Array property allows a false-colour lookup table to be applied to a monochrome image. This property is used as a Final LUT when the image is being rendered for any purposes. The first dimension of the array must have lower bound of 1 and upper bound of 3. The second dimension of the array may be any size and may have any maximum value (up to 64K), as both input and output are sclaed to filt the required ranges.

From:http://www.medicalconnections.co.uk/kb/Lookup_Tables
 

ePHI and HIPPA

What is electronic protected health information (ePHI)?

According to the US Department of Health and Human Services, electronic protected health information (ePHI) is any protected health information (PHI) that is created, stored, transmitted, or received electronically. All protected health information is subject to federal Health Insurance Portability and Accountability Act (HIPAA) regulation, which refers to any information that identifies an individual (usually a patient) and relates to at least one of the following:
  • The individual's past, present, or future physical or mental health
  • The provision of health care to the individual
  • Past, present, or future payment for health care
Information that can identify an individual includes either the individual's name or any other information that could enable someone to determine the individual's identity.
Data are "individually identifiable" if they include any of the 18 types of identifiers for an individual or for the individual's employer or family member, or if the provider or researcher is aware that the information could be used, either alone or in combination with other information, to identify an individual. These identifiers are:
  • Name
  • Address (all geographic subdivisions smaller than state, including street address, city, county, or ZIP code)
  • All elements (except years) of dates related to an individual (including birth date, admission date, discharge date, date of death, and exact age if over 89)
  • Telephone numbers
  • FAX number
  • Email address
  • Social Security number
  • Medical record number
  • Health plan beneficiary number
  • Account number
  • Certificate/license number
  • Any vehicle or other device serial number
  • Device identifiers or serial numbers
  • Web URL
  • IP address
  • Finger or voice prints
  • Photographic images
  • Any other characteristic that could uniquely identify the individual
In research, it is often sufficient to make the information more general (instead of being removed altogether) for de-identification (e.g., by replacing the birth date with an age range).

The "e" in ePHI

Electronic protected health information (ePHI) includes any medium used to store, transmit, or receive PHI electronically. The following and any future technologies used for accessing, transmitting, or receiving PHI electronically are covered by the HIPAA Security Rule:
  • Media containing data at rest (storage)

    • Personal computers with their internal hard drives used at work, home, or traveling
    • External portable hard drives, including iPods and similar devices
    • Magnetic tape
    • Removable storage devices, such as USB memory sticks, CDs, DVDs, and floppy disks
    • PDAs and smartphones
  • Data in transit, via wireless, Ethernet, modem, DSL, or cable network connections

    • Email
    • File transfer

What is HIPAA?

The Health Insurance Portability and Accountability Act (HIPAA) of 1996 is set of statutes designed to improve the efficiency and effectiveness of the US health care system:
  • Title I: Title I of HIPAA provides rules to "improve the portability and continuity of health insurance coverage" for workers when they change employers.
  • Title II: Title II of HIPAA provides rules for controlling health care fraud and abuse, and includes an "Administrative Simplification" section that sets standards for enabling the electronic exchange of health information.
Provisions in the "Administrative Simplification" section of Title II include rules protecting the privacy and security of health data. These rules are enforced by the US Department of Health and Human Services Office for Civil Rights (OCR):
  • The Privacy Rule protects the privacy of individually identifiable health information. For more, see Privacy Rule on the OCR web site.
  • The Security Rule sets national standards for the security of electronic protected health information (ePHI). For more, see Security Rule on the OCR web site.
In 2009, HIPAA enforcement rules were strengthened by the Health Information Technology for Economic and Clinical Health (HITECH) Act. Subtitle D of the HITECH Act improved privacy and security provisions found in the original HIPAA privacy and security rules.
At Indiana University, compliance with the HIPAA privacy and security rules is coordinated through the Office for Clinical Affairs, with the interim HIPAA Privacy Officer and interim HIPAA Security Officer. For more about HIPAA compliance at IU, see the HIPAA Compliance page.
For more about HIPAA and the HITECH Act, see these US Health and Human Services pages:
from: http://kb.iu.edu/data/ayyy.html

Tuesday, December 11, 2012

Developement tools

Dll Export Viewer


This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memory address. When this function is called, the debugger will stop in the beginning of this function.
For example: If you want to break each time that a message box is going to be displayed, simply put breakpoints on the memory addresses of message-box functions: MessageBoxA, MessageBoxExA, and MessageBoxIndirectA (or MessageBoxW, MessageBoxExW, and MessageBoxIndirectW in unicode based applications) When one of the message-box functions is called, your debugger should break in the entry point of that function, and then you can look at call stack and go backward into the code that initiated this API call.

http://www.nirsoft.net/utils/dll_export_viewer.html

 

Debug View

DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP. It is capable of displaying both kernel-mode and Win32 debug output, so you don't need a debugger to catch the debug output your applications or device drivers generate, nor do you need to modify your applications or drivers to use non-standard debug output APIs.

http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx

GhostDoc

GhostDoc is a Visual Studio extension that automatically generates XML documentation comments for methods and properties based on their type, parameters, name, and other contextual information.

When generating documentation for class derived from a base class or for interface implementation (e.g. .NET Framework or your custom framework), GhostDoc will use the documentation that Microsoft or the framework vendor has already written for the base class or interface.
http://submain.com/products/ghostdoc.aspx

lint
Static code analyser
http://www.gimpel.com/html/index.htm

Sandcastle

The Sandcastle CodePlex project is no longer under active development by Microsoft and as such, there will be no future releases to this site.

The existing Sandcastle source code has been forked over to Eric Woodruff’s Sandcastle Help File Builder site at http://shfb.codeplex.com/. This new location is where you should go from this point forward to download the latest version. Eric will be in charge of new releases of Sandcastle from here on out.

Many thanks to Eric for the hard work that he has put into this project over the years. It is awesome to know that Sandcastle will live on under Eric's care!

Please see this discussion for details on the project status: http://sandcastle.codeplex.com/discussions/398496

Monday, December 10, 2012

C# File Browser

This project introduces a Windows Explorer clone in an early state. It contains browsing through all files and folders on your computer, including virtual folders. It uses the same ContextMenus as Windows Explorer and includes drag and drop support

http://www.codeproject.com/Articles/15059/C-File-Browser