
Python ITK 線性仿射影像對準 Affine Registration 教學與範例
介紹如何在 Python 中使用 ITK 進行影像的線性仿射影像對準(affine registration)。 準備測試用影像 這裡我們使用一張影像作為基準影像(fixed image),以 AffineTransform 線性仿射轉換套用至基準影像上,產生一張調動影像(moving image)。 ...

介紹如何在 Python 中使用 ITK 進行影像的線性仿射影像對準(affine registration)。 準備測試用影像 這裡我們使用一張影像作為基準影像(fixed image),以 AffineTransform 線性仿射轉換套用至基準影像上,產生一張調動影像(moving image)。 ...

介紹如何在 Ubuntu Linux 中安裝與使用 POCO C++ 函式庫。 POCO 是一套多功能的跨平台 C++ 函式庫,可用於開發各類型平台上的網路相關應用程式,以下是在 Ubuntu Linux 中安裝 POCO 函式庫的方式與使用範例。 ...

介紹如何在 Linux 系統中使用 aws 指令搭配 Linux 管線處理串流的上傳、下載與壓縮。 串流上傳 aws 指令可以透過減號(-)來從標準輸入中讀取資料,例如: # 以串流上傳檔案 cat data.txt | aws s3 cp - s3://MyBucket/data.txt 這樣就可以將串流資料直接上傳至 S3 儲存。 ...

介紹如何在 C++ 程式中使用 Boost 函式庫的 gzip filter 進行串流資料的壓縮與解壓縮。 安裝 Boost 函式庫 在 Ubuntu Linux 中可以直接使用 apt 安裝 Boost 函式庫。安裝時可以將整套 Boost 的所有元件一次裝好: ...

介紹如何使用 C++ AWS SDK 中的 S3 TransferManager 開發 object 下載程式,以串流寫入檔案。 S3 TransferManager 串流下載 以下是以 TransferManager 來自動處理 S3 下載流程的範例程式。 #include <aws/s3/S3Client.h> #include <aws/core/Aws.h> #include <aws/core/auth/AWSCredentialsProvider.h> #include <aws/transfer/TransferManager.h> #include <iostream> #include <fstream> static const char* const ALLOCATION_TAG = "S3_DOWNLOAD"; int main() { Aws::SDKOptions options; Aws::InitAPI(options); { // 自訂 S3 End Point const Aws::String endPoint = "YOUR.END.POINT"; // S3 Bucket 名稱 const Aws::String bucketName = "YOUR_BUCKET"; // Object 名稱 const Aws::String objectName = "CentOS-7-x86_64-Everything-1810.iso"; // 檔案名稱 Aws::String downloadFileName = objectName; // 認證資訊 const Aws::String accessKey = "ASFHDGN345JGS436FG53"; const Aws::String secretKey = "45G54d4cbGDF56bnFsfdgh489dfGHDdfgDFGHs4e"; // 建立 S3 Client Aws::Client::ClientConfiguration config; config.verifySSL = false; auto s3Client = Aws::MakeShared<Aws::S3::S3Client>(ALLOCATION_TAG, Aws::Auth::AWSCredentials(accessKey, secretKey), config); // 設定 S3 End Point s3Client->OverrideEndpoint(endPoint); // 建立 TransferManagerConfiguration auto sdk_client_executor = Aws::MakeShared<Aws::Utils::Threading::DefaultExecutor>(ALLOCATION_TAG); Aws::Transfer::TransferManagerConfiguration transferConfig(sdk_client_executor.get()); transferConfig.s3Client = s3Client; // 下載進度回呼函數 transferConfig.downloadProgressCallback = [](const Aws::Transfer::TransferManager*, const std::shared_ptr<const Aws::Transfer::TransferHandle>& handle) { std::cout << "Download Progress: " << handle->GetBytesTransferred() << " of " << handle->GetBytesTotalSize() << " bytes"; }; // 建立 TransferManager auto transferManager = Aws::Transfer::TransferManager::Create(transferConfig); // 下載 Object auto transferHandle = transferManager->DownloadFile(bucketName, objectName, [=](){ return Aws::New<Aws::FStream>(ALLOCATION_TAG, downloadFileName.c_str(), std::ios_base::out | std::ios_base::binary); }); // 等待下載 transferHandle->WaitUntilFinished(); } Aws::ShutdownAPI(options); return 0; } 此程式碼要配合以下 CMakeLists.txt 設定,以 CMake 來編譯: ...