Assuming you're running a Microsoft Windows OS, this can be achived with the use of disk2vhd and vhd2disk.
First download a copy of Disk2VHD from the Microsoft Sysinternals website.
Start up Disk2VHD and ensure the "Use Vhdx" box is not checked, and that the "Use Volume Shadow Copy" box is checked. This will resolved the issue mentioned by Techie007. Then select your C: drive (assuming this is the SSD) from the "Volumes to include" section and your destination (this would be somewhere on your 1TB HDD) in the "VHD File name" section.

Press "Create" and let the image complete. Do not use your computer during this time, as changes and documents may be lost if they are stored on the SSD.
Once the image is complete, download VHD2Disk from the Sysinternals forums.
Load up VHD2Disk and select your VHD Image in the "VHD File name" section. You should see your boot sector and main NTFS partition in the "Volumes to include" section. Make a note of the existing drives in the "Target drive" section, then plug in your new SSD. Then select the new drive (it should be the one that's not in your list of existing drives) and click VHD to Disk.
Once the transfer is complete, you will need to expand the data partition on the new drive to make use of the extra space.
Open the start menu, then search for and open "Disk Management". You should see your new SSD, with an empty section to the right of the data partition. Right-click the data partition and select extend volume. You can then follow the on-screen wizard, leaving all of the options at the default values. This will expand your partition to fill the new SSD.
Now shut down your PC, remove your old SSD, and boot up from your new SSD.
dd
in from the old drive/partition out to the new... but that doesn't satisfy your "while OS is running"